chore(project): rebranded project as 恭学教育 (GongXue Education)
Some checks failed
Deploy to Runner / deploy (push) Failing after 6m7s
Some checks failed
Deploy to Runner / deploy (push) Failing after 6m7s
- Updated pom.xml project name, description, and URL to 恭学教育. - Changed LICENSE copyright holder to 恭学教育 (GongXue Education). - Rebranded README.md with new project title and tagline. - Replaced @author 芋道源码 with @author 恭学教育 across all Java source files. - Updated Swagger metadata with 恭学教育 API title and admin@gongxue.com. - Added Gitea Actions CI pipeline for automated build and deployment.
This commit is contained in:
@@ -8,7 +8,7 @@ import java.time.LocalDateTime;
|
||||
/**
|
||||
* IM 会话读位置 Response VO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Schema(description = "管理后台 - IM 会话读位置 Response VO")
|
||||
@Data
|
||||
|
||||
@@ -38,7 +38,7 @@ import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLogi
|
||||
/**
|
||||
* IM 好友申请记录 Controller
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Tag(name = "管理后台 - IM 好友申请")
|
||||
@RestController
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.time.LocalDateTime;
|
||||
/**
|
||||
* IM 好友 Response VO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Schema(description = "管理后台 - IM 好友 Response VO")
|
||||
@Data
|
||||
@@ -52,7 +52,7 @@ public class ImFriendRespVO {
|
||||
|
||||
// ========== 下面是聚合字段,方便前端显示 ==========
|
||||
|
||||
@Schema(description = "好友昵称(实时聚合自 AdminUser)", example = "芋道")
|
||||
@Schema(description = "好友昵称(实时聚合自 AdminUser)", example = "恭学")
|
||||
private String nickname;
|
||||
|
||||
@Schema(description = "好友昵称的拼音(小写无空格)", example = "yudao")
|
||||
|
||||
@@ -10,7 +10,7 @@ import lombok.Data;
|
||||
/**
|
||||
* IM 好友申请 - 发起 Request VO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Schema(description = "管理后台 - IM 好友申请发起 Request VO")
|
||||
@Data
|
||||
@@ -20,7 +20,7 @@ public class ImFriendRequestApplyReqVO {
|
||||
@NotNull(message = "接收方用户编号不能为空")
|
||||
private Long toUserId;
|
||||
|
||||
@Schema(description = "申请理由", example = "我是芋艿(一种食材)")
|
||||
@Schema(description = "申请理由", example = "我是管理员(一种食材)")
|
||||
@Size(max = 255, message = "申请理由最多 255 个字符")
|
||||
private String applyContent;
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.time.LocalDateTime;
|
||||
/**
|
||||
* IM 好友申请 Response VO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Schema(description = "管理后台 - IM 好友申请 Response VO")
|
||||
@Data
|
||||
@@ -26,7 +26,7 @@ public class ImFriendRequestRespVO {
|
||||
@Schema(description = "处理结果", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
|
||||
private Integer handleResult; // 参见 ImFriendRequestHandleResultEnum 枚举
|
||||
|
||||
@Schema(description = "申请理由", example = "我是芋艿(一种食材)")
|
||||
@Schema(description = "申请理由", example = "我是管理员(一种食材)")
|
||||
private String applyContent;
|
||||
|
||||
@Schema(description = "处理理由(接收方拒绝时可选填)", example = "暂不通过")
|
||||
@@ -46,7 +46,7 @@ public class ImFriendRequestRespVO {
|
||||
|
||||
// ========== 下面是聚合字段,方便前端显示 ==========
|
||||
|
||||
@Schema(description = "发起方昵称(实时聚合自 AdminUser)", example = "芋道")
|
||||
@Schema(description = "发起方昵称(实时聚合自 AdminUser)", example = "恭学")
|
||||
private String fromNickname;
|
||||
|
||||
@Schema(description = "发起方头像(实时聚合自 AdminUser)")
|
||||
|
||||
@@ -40,7 +40,7 @@ import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLogi
|
||||
/**
|
||||
* IM 加群申请 Controller
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Tag(name = "管理后台 - IM 加群申请")
|
||||
@RestController
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
@Data
|
||||
public class ImGroupCreateReqVO {
|
||||
|
||||
@Schema(description = "群名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道技术交流群")
|
||||
@Schema(description = "群名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "恭学技术交流群")
|
||||
@NotBlank(message = "群名称不能为空")
|
||||
@Size(max = 64, message = "群名称长度不能超过 64")
|
||||
private String name;
|
||||
|
||||
@@ -14,7 +14,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
|
||||
@ToString(callSuper = true)
|
||||
public class ImGroupPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "群名称", example = "芋艿")
|
||||
@Schema(description = "群名称", example = "管理员")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "群主用户编号", example = "31460")
|
||||
|
||||
@@ -14,7 +14,7 @@ public class ImGroupRespVO {
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1003")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "群名称", example = "芋艿")
|
||||
@Schema(description = "群名称", example = "管理员")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "群主用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31460")
|
||||
|
||||
@@ -11,7 +11,7 @@ public class ImGroupSaveReqVO {
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1003")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "群名称", example = "芋艿")
|
||||
@Schema(description = "群名称", example = "管理员")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "群主用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "31460")
|
||||
|
||||
@@ -16,7 +16,7 @@ public class ImGroupUpdateReqVO {
|
||||
@NotNull(message = "群编号不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "群名称", example = "芋道技术交流群")
|
||||
@Schema(description = "群名称", example = "恭学技术交流群")
|
||||
@Size(max = 64, message = "群名称长度不能超过 64")
|
||||
private String name;
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ public class ImGroupMemberRespVO {
|
||||
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21730")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "组内显示名", example = "芋艿")
|
||||
@Schema(description = "组内显示名", example = "管理员")
|
||||
private String displayUserName;
|
||||
|
||||
@Schema(description = "群备注", example = "核心群")
|
||||
@@ -47,7 +47,7 @@ public class ImGroupMemberRespVO {
|
||||
|
||||
// ========== 关联 AdminUser 的字段 ==========
|
||||
|
||||
@Schema(description = "用户昵称", example = "芋道")
|
||||
@Schema(description = "用户昵称", example = "恭学")
|
||||
private String nickname;
|
||||
|
||||
@Schema(description = "用户头像")
|
||||
|
||||
@@ -14,7 +14,7 @@ public class ImGroupMemberUpdateReqVO {
|
||||
@NotNull(message = "群编号不能为空")
|
||||
private Long groupId;
|
||||
|
||||
@Schema(description = "群内昵称", example = "芋头")
|
||||
@Schema(description = "群内昵称", example = "管理员")
|
||||
private String displayUserName;
|
||||
|
||||
@Schema(description = "群备注", example = "公司群")
|
||||
|
||||
@@ -15,7 +15,7 @@ public class ImGroupRequestApplyReqVO {
|
||||
@NotNull(message = "群编号不能为空")
|
||||
private Long groupId;
|
||||
|
||||
@Schema(description = "申请理由", example = "我是芋艿(一种食材)")
|
||||
@Schema(description = "申请理由", example = "我是管理员(一种食材)")
|
||||
@Size(max = 255, message = "申请理由最多 255 个字符")
|
||||
private String applyContent;
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ public class ImGroupRequestRespVO {
|
||||
|
||||
// ========== 下面是聚合字段,方便前端显示 ==========
|
||||
|
||||
@Schema(description = "申请人 / 被邀请人昵称(实时聚合自 AdminUser)", example = "芋道")
|
||||
@Schema(description = "申请人 / 被邀请人昵称(实时聚合自 AdminUser)", example = "恭学")
|
||||
private String userNickname;
|
||||
|
||||
@Schema(description = "申请人 / 被邀请人头像(实时聚合自 AdminUser)")
|
||||
@@ -59,7 +59,7 @@ public class ImGroupRequestRespVO {
|
||||
@Schema(description = "邀请人头像(实时聚合自 AdminUser)")
|
||||
private String inviterAvatar;
|
||||
|
||||
@Schema(description = "群名称(实时聚合自 ImGroup)", example = "芋道技术交流群")
|
||||
@Schema(description = "群名称(实时聚合自 ImGroup)", example = "恭学技术交流群")
|
||||
private String groupName;
|
||||
|
||||
@Schema(description = "群头像(实时聚合自 ImGroup)")
|
||||
|
||||
@@ -24,7 +24,7 @@ public class ImFriendRequestManagerRespVO {
|
||||
@Schema(description = "接收方昵称", example = "李四")
|
||||
private String toNickname;
|
||||
|
||||
@Schema(description = "申请理由", example = "我是芋艿")
|
||||
@Schema(description = "申请理由", example = "我是管理员")
|
||||
private String applyContent;
|
||||
|
||||
@Schema(description = "发起方对接收方的备注")
|
||||
|
||||
@@ -15,7 +15,7 @@ public class ImGroupRequestManagerRespVO {
|
||||
@Schema(description = "群编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Long groupId;
|
||||
|
||||
@Schema(description = "群名称", example = "芋道技术交流群")
|
||||
@Schema(description = "群名称", example = "恭学技术交流群")
|
||||
private String groupName;
|
||||
|
||||
@Schema(description = "申请人 / 被邀请人用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
|
||||
|
||||
@@ -25,7 +25,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
* <p>
|
||||
* 安全由请求签名(JWT + body sha256)保证,不走登录鉴权;伪造请求会被签名校验直接拒绝
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Tag(name = "LiveKit Webhook 回调")
|
||||
@RestController
|
||||
|
||||
@@ -14,7 +14,7 @@ import lombok.*;
|
||||
* - 频道是运营单向推送的主体;C 端用户不能向频道发消息
|
||||
* - {@link #code} 是业务码(API / 字典外露),id 是数字主键给前端会话 targetId 用
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_channel")
|
||||
@KeySequence("im_channel_seq")
|
||||
|
||||
@@ -16,7 +16,7 @@ import lombok.*;
|
||||
* - 一条素材 1:N 关联多条 {@link ImChannelMessageDO}
|
||||
* - {@link #content} 富文本仅在素材详情接口按需返回,推送 payload 不带,避免压爆 WebSocket 通道
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_channel_material")
|
||||
@KeySequence("im_channel_material_seq")
|
||||
|
||||
@@ -19,7 +19,7 @@ import java.time.LocalDateTime;
|
||||
* <p>
|
||||
* 只表达「用户在某个会话的最大已读位置」,私聊 / 群聊 / 频道统一落这张表,是读位置的唯一权威。
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_conversation_read")
|
||||
@KeySequence("im_conversation_read_seq")
|
||||
|
||||
@@ -10,7 +10,7 @@ import lombok.*;
|
||||
/**
|
||||
* IM 表情包 DO(运营配置的系统表情包元数据)
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_face_pack")
|
||||
@KeySequence("im_face_pack_seq")
|
||||
|
||||
@@ -10,7 +10,7 @@ import lombok.*;
|
||||
/**
|
||||
* IM 表情包项 DO(系统表情包内的单张表情图)
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_face_pack_item")
|
||||
@KeySequence("im_face_pack_item_seq")
|
||||
|
||||
@@ -9,7 +9,7 @@ import lombok.*;
|
||||
/**
|
||||
* IM 用户私有表情 DO(个人表情包,对照微信「我的表情」)
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_face_user_item")
|
||||
@KeySequence("im_face_user_item_seq")
|
||||
|
||||
@@ -19,7 +19,7 @@ import java.time.LocalDateTime;
|
||||
* - 联系人置顶:{@link #pinned} 单边,影响联系人 / 会话排序
|
||||
* - 黑名单:{@link #blocked} 弱关联 friend,单边屏蔽对方消息(必须先是好友)
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_friend")
|
||||
@KeySequence("im_friend_seq")
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.time.LocalDateTime;
|
||||
* - 接收方调 agree / refuse 处理(更新 handleResult / handleTime / handleContent)
|
||||
* - 申请通过后,displayName / addSource 同步写入 {@link ImFriendDO}
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_friend_request")
|
||||
@KeySequence("im_friend_request_seq")
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 群信息 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName(value = "im_group",autoResultMap = true)
|
||||
@KeySequence("im_group_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.time.LocalDateTime;
|
||||
/**
|
||||
* IM 群成员 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_group_member")
|
||||
@KeySequence("im_group_member_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.time.LocalDateTime;
|
||||
* <li>处理:群主 / 管理员调 agree / refuse 推进状态机;同意时把 addSource / inviterUserId 同步写入 {@link ImGroupMemberDO}</li>
|
||||
* </ul>
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_group_request")
|
||||
@KeySequence("im_group_request_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增;MySQL 等可不写
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.List;
|
||||
* - {@link #channelId} 冗余 {@link ImChannelMaterialDO#getChannelId()} 便于按频道检索
|
||||
* - {@link #content} 存推送时 payload 的 JSON 快照(title / coverUrl / summary / url);不含富文本正文
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName(value = "im_channel_message", autoResultMap = true)
|
||||
@KeySequence("im_channel_message_seq")
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 群聊消息 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName(value = "im_group_message", autoResultMap = true)
|
||||
@KeySequence("im_group_message_seq")
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.time.LocalDateTime;
|
||||
/**
|
||||
* IM 私聊消息 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_private_message")
|
||||
@KeySequence("im_private_message_seq")
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.time.LocalDateTime;
|
||||
* <p>
|
||||
* 一通通话一行;状态机 CREATED → RUNNING → ENDED;和明细表 {@link ImRtcParticipantDO} 通过 {@link #room} 关联
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_rtc_call")
|
||||
@KeySequence("im_rtc_call_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增;MySQL 等数据库可不写
|
||||
|
||||
@@ -17,7 +17,7 @@ import java.time.LocalDateTime;
|
||||
* <p>
|
||||
* 终态闭合:通话 ENDED 时所有明细 status 必属 {LEFT / REJECTED / NO_ANSWER} 之一
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_rtc_participant")
|
||||
@KeySequence("im_rtc_participant_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增;MySQL 等数据库可不写
|
||||
|
||||
@@ -10,7 +10,7 @@ import lombok.*;
|
||||
/**
|
||||
* IM 敏感词 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@TableName("im_sensitive_word")
|
||||
@KeySequence("im_sensitive_word_seq")
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 频道 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImChannelMapper extends BaseMapperX<ImChannelDO> {
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 频道素材 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImChannelMaterialMapper extends BaseMapperX<ImChannelMaterialDO> {
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 会话读位置 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImConversationReadMapper extends BaseMapperX<ImConversationReadDO> {
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 表情包项 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImFacePackItemMapper extends BaseMapperX<ImFacePackItemDO> {
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 表情包 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImFacePackMapper extends BaseMapperX<ImFacePackDO> {
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 用户私有表情 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImFaceUserItemMapper extends BaseMapperX<ImFaceUserItemDO> {
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 好友关系 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImFriendMapper extends BaseMapperX<ImFriendDO> {
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 好友申请记录 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImFriendRequestMapper extends BaseMapperX<ImFriendRequestDO> {
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
/**
|
||||
* IM 群 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImGroupMapper extends BaseMapperX<ImGroupDO> {
|
||||
|
||||
@@ -17,7 +17,7 @@ import java.util.Map;
|
||||
/**
|
||||
* IM 群成员 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImGroupMemberMapper extends BaseMapperX<ImGroupMemberDO> {
|
||||
|
||||
@@ -17,7 +17,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 加群申请记录 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImGroupRequestMapper extends BaseMapperX<ImGroupRequestDO> {
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 频道消息 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImChannelMessageMapper extends BaseMapperX<ImChannelMessageDO> {
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 群聊消息 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImGroupMessageMapper extends BaseMapperX<ImGroupMessageDO> {
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 私聊消息 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImPrivateMessageMapper extends BaseMapperX<ImPrivateMessageDO> {
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 通话记录 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImRtcCallMapper extends BaseMapperX<ImRtcCallDO> {
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 通话参与者 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImRtcParticipantMapper extends BaseMapperX<ImRtcParticipantDO> {
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 敏感词 Mapper
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImSensitiveWordMapper extends BaseMapperX<ImSensitiveWordDO> {
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.Map;
|
||||
* <p>
|
||||
* 独立于业务 Mapper:所有统计 SQL 集中在此,仅服务于 manager 看板,不被其它业务调用,保持各业务 Mapper / Service 不受统计需求污染。
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Mapper
|
||||
public interface ImStatisticsManagerMapper {
|
||||
|
||||
@@ -4,7 +4,7 @@ package cn.iocoder.yudao.module.im.dal.redis;
|
||||
/**
|
||||
* IM Redis Key 枚举类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface RedisKeyConstants {
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.RTC_INVITE_BUS
|
||||
* <p>
|
||||
* invite 入口包一层;锁内做「SELECT 已有活跃通话 → 命中即加入分支;否则 INSERT 新通话」
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Repository
|
||||
@Slf4j
|
||||
|
||||
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.im.enums;
|
||||
/**
|
||||
* IM 通用常量
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImCommonConstants {
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.Set;
|
||||
/**
|
||||
* IM 内容类型枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Getter
|
||||
@RequiredArgsConstructor
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.Objects;
|
||||
/**
|
||||
* IM 会话类型枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.Arrays;
|
||||
/**
|
||||
* IM 频道素材内容类型枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.Arrays;
|
||||
* <p>
|
||||
* 由发起方调用 apply 接口时传入;同意后同步写入 im_friend.add_source(双向)
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
@@ -19,8 +19,8 @@ public enum ImFriendAddSourceEnum implements ArrayValuable<Integer> {
|
||||
|
||||
SEARCH(1, "搜索"), // FriendAddDialog 搜索流程
|
||||
GROUP(2, "群聊"), // 群成员主页 → UserInfo「加为好友」入口
|
||||
QR_CODE(3, "扫码"), // TODO @芋艿:后续实现扫码加好友
|
||||
CARD(4, "名片"); // TODO @芋艿:后续实现通过名片加好友,类似微信的「扫一扫 - 名片」功能,或者「通讯录 - 推荐好友」功能
|
||||
QR_CODE(3, "扫码"), // TODO @管理员:后续实现扫码加好友
|
||||
CARD(4, "名片"); // TODO @管理员:后续实现通过名片加好友,类似微信的「扫一扫 - 名片」功能,或者「通讯录 - 推荐好友」功能
|
||||
|
||||
public static final Integer[] ARRAYS = Arrays.stream(values()).map(ImFriendAddSourceEnum::getSource).toArray(Integer[]::new);
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.Objects;
|
||||
/**
|
||||
* IM 好友申请处理结果枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.Objects;
|
||||
* <p>
|
||||
* 用于 ImFriendService.getFriendState 返回值与 FRIEND_STATE 缓存值:私聊发送热点路径下,sender 调缓存即可同时判定「能否发」和「是否屏蔽接收方」
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -11,16 +11,16 @@ import java.util.Arrays;
|
||||
* <p>
|
||||
* 由发起方在申请 / 邀请时传入;同意后同步写入 ImGroupMemberDO 的 addSource 字段
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
public enum ImGroupAddSourceEnum implements ArrayValuable<Integer> {
|
||||
|
||||
SEARCH(1, "搜索"), // TODO @芋艿:SEARCH 暂未实现,原因 - 搜群入口尚未开发
|
||||
SEARCH(1, "搜索"), // TODO @管理员:SEARCH 暂未实现,原因 - 搜群入口尚未开发
|
||||
INVITE(2, "邀请"),
|
||||
QR_CODE(3, "扫码"), // TODO @芋艿:QR_CODE 暂未实现,原因 - 群二维码扫码进群入口尚未开发
|
||||
SHARE_LINK(4, "分享链接"); // TODO @芋艿:SHARE_LINK 暂未实现,原因 - 群分享链接进群入口尚未开发
|
||||
QR_CODE(3, "扫码"), // TODO @管理员:QR_CODE 暂未实现,原因 - 群二维码扫码进群入口尚未开发
|
||||
SHARE_LINK(4, "分享链接"); // TODO @管理员:SHARE_LINK 暂未实现,原因 - 群分享链接进群入口尚未开发
|
||||
|
||||
public static final Integer[] ARRAYS = Arrays.stream(values()).map(ImGroupAddSourceEnum::getSource).toArray(Integer[]::new);
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.Objects;
|
||||
/**
|
||||
* IM 群成员角色枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.Objects;
|
||||
* <p>
|
||||
* 取值与 {@link cn.iocoder.yudao.module.im.enums.friend.ImFriendRequestHandleResultEnum} 平行,便于复用心智模型
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.Arrays;
|
||||
/**
|
||||
* IM 消息回执状态枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.Arrays;
|
||||
/**
|
||||
* IM 消息状态枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.Arrays;
|
||||
/**
|
||||
* IM 通话结束原因枚举;落历史消息时计算 content 文案
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.Objects;
|
||||
/**
|
||||
* IM 通话媒体类型枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.Objects;
|
||||
* <p>
|
||||
* 状态机:CREATED → RUNNING → ENDED;CREATED 直接到 ENDED 表示无人接听 / 主叫取消
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.Arrays;
|
||||
/**
|
||||
* IM 通话参与者角色枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.util.Objects;
|
||||
* 2、INVITING → REJECTED(接通前点拒接);
|
||||
* 3、INVITING → NO_ANSWER(通话结束仍未应答)
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
|
||||
@@ -14,7 +14,7 @@ import org.springframework.validation.annotation.Validated;
|
||||
* 各子模块用嵌套 inner class 区分(friend / group / face / message / rtc 等),
|
||||
* yaml 路径保持 yudao.im.{module}.{key} 与原有部署保持兼容
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Component
|
||||
@ConfigurationProperties(prefix = "yudao.im")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* 属于 erp 模块的 framework 封装
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
package cn.iocoder.yudao.module.im.framework;
|
||||
|
||||
@@ -8,7 +8,7 @@ import org.springframework.context.annotation.Configuration;
|
||||
/**
|
||||
* im 模块的 RTC 组件的 Configuration
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
public class ImRtcConfiguration {
|
||||
|
||||
@@ -31,7 +31,7 @@ import java.util.Objects;
|
||||
* <p>
|
||||
* 由 {@link cn.iocoder.yudao.module.im.framework.rtc.config.ImRtcConfiguration} 注册为 Bean,本类不带 {@code @Component}
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Slf4j
|
||||
public class LiveKitClient {
|
||||
|
||||
@@ -8,7 +8,7 @@ import lombok.Data;
|
||||
* <p>
|
||||
* 文档参考:<a href="https://docs.livekit.io/home/server/webhook/">webhook 文档</a>
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Data
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.springframework.stereotype.Component;
|
||||
/**
|
||||
* 僵尸通话清理 Job:兜底 LiveKit Webhook 丢失 / 客户端异常关闭等未调 leave 的场景
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.springframework.stereotype.Component;
|
||||
/**
|
||||
* 振铃超时 Job:扫 INVITING 超过阈值的参与者,单人粒度标 NO_ANSWER + 推 RTC_CALL(REJECT) 让前端 banner 收敛
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.List;
|
||||
/**
|
||||
* 监听 system 模块的 {@link AdminUserProfileUpdateMessage} 消息,向「资料被改的人」的所有好友推送 FRIEND_INFO_UPDATED 通知
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
|
||||
@@ -15,7 +15,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
|
||||
/**
|
||||
* IM 频道素材 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImChannelMaterialService {
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.IM_CHANNEL_MAT
|
||||
/**
|
||||
* IM 频道素材 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
|
||||
@@ -15,7 +15,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
|
||||
/**
|
||||
* IM 频道 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImChannelService {
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*;
|
||||
/**
|
||||
* IM 频道 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.Map;
|
||||
/**
|
||||
* IM 会话读位置 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImConversationReadService {
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
|
||||
/**
|
||||
* IM 会话读位置 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 表情包项 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImFacePackItemService {
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.FACE_PACK_ITEM
|
||||
/**
|
||||
* IM 表情包项 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 表情包 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImFacePackService {
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.FACE_PACK_NOT_
|
||||
/**
|
||||
* IM 表情包 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 用户私有表情 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImFaceUserItemService {
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.FACE_USER_ITEM
|
||||
/**
|
||||
* IM 用户私有表情 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 好友申请 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImFriendRequestService {
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*;
|
||||
/**
|
||||
* IM 好友申请 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.List;
|
||||
* 注意:用户端「加好友」走 {@link ImFriendRequestService#applyFriend} 申请-审批流程,
|
||||
* 不再开放直接 add 接口;只有 {@link #becomeFriends} 是内部入口(被 agree 同意 / 管理员 import 触发)。
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImFriendService {
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.FRIEND_NOT_FRI
|
||||
/**
|
||||
* IM 好友关系 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.Map;
|
||||
/**
|
||||
* 群成员 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImGroupMemberService {
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.GROUP_MEMBER_N
|
||||
/**
|
||||
* 群成员 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.List;
|
||||
/**
|
||||
* IM 加群申请 Service 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
public interface ImGroupRequestService {
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ import static cn.iocoder.yudao.module.im.enums.ErrorCodeConstants.*;
|
||||
/**
|
||||
* IM 加群申请 Service 实现类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author 恭学教育
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user