Commit af9b7fdd by 罗长华

提交im-sdk初版

parent db19ca0c
package io.geekidea.springbootplus.test;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.crypto.digest.MD5;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.enums.DeviceTypeEnum;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientService;
import com.wecloud.im.ws.utils.RedisUtils;
import io.geekidea.springbootplus.framework.shiro.util.JwtUtil;
import java.time.Duration;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -17,7 +11,16 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.time.Duration;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.crypto.digest.MD5;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.sdk.enums.DeviceTypeEnum;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientService;
import com.wecloud.im.ws.utils.RedisUtils;
/**
* 生成测试appkey与appSecret对,并存入数据库
......
package com.wecloud.im.action;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.netty.channel.Channel;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Lists;
import com.wecloud.dispatch.annotation.ActionMapping;
......@@ -11,13 +29,13 @@ import com.wecloud.im.entity.ImConversationMembers;
import com.wecloud.im.entity.ImInbox;
import com.wecloud.im.entity.ImMessage;
import com.wecloud.im.entity.ImMessageOnlineSend;
import com.wecloud.im.enums.GroupRoleEnum;
import com.wecloud.im.enums.MutedEnum;
import com.wecloud.im.mq.MqSender;
import com.wecloud.im.param.ChatContentVo;
import com.wecloud.im.param.ImClientSimpleDto;
import com.wecloud.im.param.ImConversationQueryVo;
import com.wecloud.im.param.MsgVo;
import com.wecloud.im.sdk.enums.GroupRoleEnum;
import com.wecloud.im.sdk.enums.MutedEnum;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientBlacklistService;
import com.wecloud.im.service.ImClientService;
......@@ -32,22 +50,6 @@ import com.wecloud.pushserver.client.model.constant.MqConstant;
import com.wecloud.pushserver.client.model.dto.PushDTO;
import com.wecloud.utils.JsonUtils;
import com.wecloud.utils.SnowflakeUtil;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.netty.channel.Channel;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description 普通聊天
......
......@@ -12,7 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.wecloud.dispatch.annotation.ActionMapping;
import com.wecloud.im.enums.CallTypeEnum;
import com.wecloud.im.param.rtc.CandidateForwardParam;
import com.wecloud.im.param.rtc.CreateRtcChannelParam;
import com.wecloud.im.param.rtc.CreateRtcChannelResult;
......@@ -20,6 +19,7 @@ import com.wecloud.im.param.rtc.JoinRtcChannelParam;
import com.wecloud.im.param.rtc.LeaveRtcChannelParam;
import com.wecloud.im.param.rtc.RejectRtcChannelParam;
import com.wecloud.im.param.rtc.SdpForwardParam;
import com.wecloud.im.sdk.enums.CallTypeEnum;
import com.wecloud.im.ws.model.WsResponse;
import com.wecloud.rtc.service.RtcService;
......
package com.wecloud.im.controller;
import com.wecloud.im.enums.CallTypeEnum;
import com.wecloud.im.param.rtc.*;
import com.wecloud.rtc.service.RtcService;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
......@@ -10,12 +7,23 @@ import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.wecloud.im.param.rtc.CandidateForwardParam;
import com.wecloud.im.param.rtc.CreateRtcChannelParam;
import com.wecloud.im.param.rtc.CreateRtcChannelResult;
import com.wecloud.im.param.rtc.JoinRtcChannelParam;
import com.wecloud.im.param.rtc.LeaveRtcChannelParam;
import com.wecloud.im.param.rtc.RejectRtcChannelParam;
import com.wecloud.im.param.rtc.SdpForwardParam;
import com.wecloud.im.sdk.enums.CallTypeEnum;
import com.wecloud.rtc.service.RtcService;
/**
* 音视频通话 控制器
*
......
package com.wecloud.im.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -9,9 +7,13 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.util.Date;
import javax.validation.constraints.NotNull;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
/**
* 会话表
*
......@@ -64,7 +66,7 @@ public class ImConversation extends BaseEntity {
/**
* 禁言开关
* @see com.wecloud.im.enums.MutedEnum
* @see com.wecloud.im.sdk.enums.MutedEnum
*/
@ApiModelProperty("禁言开关 1-未禁言 2-禁言")
private Integer muted;
......
package com.wecloud.im.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -9,9 +7,13 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.util.Date;
import javax.validation.constraints.NotNull;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
/**
* 会话成员表
*
......@@ -60,14 +62,14 @@ public class ImConversationMembers extends BaseEntity {
/**
* 群内角色
* @see com.wecloud.im.enums.GroupRoleEnum
* @see com.wecloud.im.sdk.enums.GroupRoleEnum
*/
@ApiModelProperty("群内角色")
private Integer role;
/**
* 禁言开关
* @see com.wecloud.im.enums.MutedEnum
* @see com.wecloud.im.sdk.enums.MutedEnum
*/
@ApiModelProperty("禁言开关 1-未禁言 2-禁言")
private Integer muted;
......
package com.wecloud.im.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -9,9 +7,13 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.util.Date;
import javax.validation.constraints.NotNull;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
/**
* @Author wenzhida
* @Date 2022/3/15 23:09
......@@ -38,7 +40,7 @@ public class ImMultiRtcRoom extends BaseEntity {
/**
* 多人音视频房间状态枚举
* @see com.wecloud.im.enums.MultiRtcRoomStateEnum
* @see com.wecloud.im.sdk.enums.MultiRtcRoomStateEnum
*/
@ApiModelProperty("房间状态,1:已创建,2:会议中,3:会议结束")
private Integer state;
......
package com.wecloud.im.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -9,9 +7,13 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.util.Date;
import javax.validation.constraints.NotNull;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
/**
* @Author wenzhida
* @Date 2022/3/15 23:09
......@@ -24,7 +26,7 @@ import java.util.Date;
public class ImMultiRtcRoomMember extends BaseEntity {
private static final long serialVersionUID = -3806432271911087255L;
@NotNull(message = "主键id不能为空")
@ApiModelProperty("主键id")
@TableId(value = "id", type = IdType.INPUT)
......@@ -44,7 +46,7 @@ public class ImMultiRtcRoomMember extends BaseEntity {
/**
* 多人音视频房间成员状态枚举
* @see com.wecloud.im.enums.MultiRtcMemberStateEnum
* @see com.wecloud.im.sdk.enums.MultiRtcMemberStateEnum
*/
@ApiModelProperty("房间成员状态,1:呼叫中,2:已接听,3:已拒绝,4:未接听,5:已断开")
private Integer state;
......
package com.wecloud.im.externalaccess.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.wecloud.im.enums.VerifySceneEnum;
import com.wecloud.im.constant.RedisKeyPrefixConstant;
import com.wecloud.im.externalaccess.entity.User;
import com.wecloud.im.externalaccess.param.SendVerifyCodeParam;
import com.wecloud.im.externalaccess.service.UserService;
import com.wecloud.im.ws.utils.RedisUtils;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
......@@ -15,6 +8,9 @@ import io.geekidea.springbootplus.framework.common.exception.BusinessException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import java.time.Duration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -22,7 +18,13 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.Duration;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.wecloud.im.constant.RedisKeyPrefixConstant;
import com.wecloud.im.externalaccess.entity.User;
import com.wecloud.im.externalaccess.param.SendVerifyCodeParam;
import com.wecloud.im.externalaccess.service.UserService;
import com.wecloud.im.sdk.enums.VerifySceneEnum;
import com.wecloud.im.ws.utils.RedisUtils;
/**
* @Author wenzhida
......
......@@ -3,9 +3,10 @@ package com.wecloud.im.externalaccess.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
/**
* @Author wenzhida
* @Date 2022/2/23 15:20
......@@ -25,7 +26,7 @@ public class ModifySexParam implements Serializable {
/**
* 性别
* @see com.wecloud.im.enums.SexEnum
* @see com.wecloud.im.sdk.enums.SexEnum
*/
@NotNull(message = "性别不可为空不可为空")
@ApiModelProperty("性别 1-男 2-女 3-未知")
......
......@@ -3,9 +3,10 @@ package com.wecloud.im.externalaccess.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
/**
* @Author wenzhida
* @Date 2022/2/21 18:15
......@@ -25,7 +26,7 @@ public class SendVerifyCodeParam implements Serializable {
/**
* 验证场景 1-用户注册 2-重置密码验证 3-更换手机号绑定
* @see com.wecloud.im.enums.VerifySceneEnum
* @see com.wecloud.im.sdk.enums.VerifySceneEnum
*/
@NotNull(message = "验证场景不可为空")
@ApiModelProperty("验证场景 1-用户注册 2-重置密码验证 3-更换手机号绑定")
......
......@@ -29,7 +29,7 @@ public class UserBaseDto implements Serializable {
/**
* 性别
* @see com.wecloud.im.enums.SexEnum
* @see com.wecloud.im.sdk.enums.SexEnum
*/
@ApiModelProperty("性别 1-男 2-女 3-未知")
private Integer sex;
......@@ -45,7 +45,7 @@ public class UserBaseDto implements Serializable {
/**
* 与我关系
* @see com.wecloud.im.enums.RelationEnum
* @see com.wecloud.im.sdk.enums.RelationEnum
*/
@ApiModelProperty("与我关系 1-陌生人 2-好友 3-被我拉黑")
private Integer relation;
......
package com.wecloud.im.externalaccess.param;
import com.wecloud.im.enums.DeviceTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import com.wecloud.im.sdk.enums.DeviceTypeEnum;
/**
* @Author wenzhida
* @Date 2022/2/21 18:15
......
......@@ -16,9 +16,6 @@ import com.wecloud.im.constant.RedisKeyPrefixConstant;
import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.entity.ImClientDevice;
import com.wecloud.im.enums.FriendStateEnum;
import com.wecloud.im.enums.RelationEnum;
import com.wecloud.im.enums.VerifySceneEnum;
import com.wecloud.im.externalaccess.entity.User;
import com.wecloud.im.externalaccess.mapper.UserMapper;
import com.wecloud.im.externalaccess.param.ChangePhoneParam;
......@@ -38,6 +35,9 @@ import com.wecloud.im.friend.entity.ImFriend;
import com.wecloud.im.friend.service.ImFriendService;
import com.wecloud.im.param.add.ImClientHeadPortraitAdd;
import com.wecloud.im.param.add.ImClientNicknameUpdate;
import com.wecloud.im.sdk.enums.FriendStateEnum;
import com.wecloud.im.sdk.enums.RelationEnum;
import com.wecloud.im.sdk.enums.VerifySceneEnum;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientBlacklistService;
import com.wecloud.im.service.ImClientDeviceService;
......
package com.wecloud.im.friend.controller;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.enums.FriendStateEnum;
import com.wecloud.im.friend.param.ImCreateRecommendParam;
import com.wecloud.im.friend.param.ImDeleteFriendParam;
import com.wecloud.im.friend.param.ImDeleteRecommendParam;
import com.wecloud.im.friend.param.ImFriendApplyDto;
import com.wecloud.im.friend.param.ImFriendApplyParam;
import com.wecloud.im.friend.param.ImFriendApproveParam;
import com.wecloud.im.friend.param.ImFriendBaseDto;
import com.wecloud.im.friend.param.ImFriendBaseParam;
import com.wecloud.im.friend.param.ImFriendPageParam;
import com.wecloud.im.friend.param.ImFriendRecommendDto;
import com.wecloud.im.friend.service.ImFriendService;
import com.wecloud.im.service.ImClientService;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
......@@ -24,6 +10,9 @@ import io.geekidea.springbootplus.framework.log.enums.OperationLogType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -31,7 +20,20 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.friend.param.ImCreateRecommendParam;
import com.wecloud.im.friend.param.ImDeleteFriendParam;
import com.wecloud.im.friend.param.ImDeleteRecommendParam;
import com.wecloud.im.friend.param.ImFriendApplyDto;
import com.wecloud.im.friend.param.ImFriendApplyParam;
import com.wecloud.im.friend.param.ImFriendApproveParam;
import com.wecloud.im.friend.param.ImFriendBaseDto;
import com.wecloud.im.friend.param.ImFriendBaseParam;
import com.wecloud.im.friend.param.ImFriendPageParam;
import com.wecloud.im.friend.param.ImFriendRecommendDto;
import com.wecloud.im.friend.service.ImFriendService;
import com.wecloud.im.sdk.enums.FriendStateEnum;
import com.wecloud.im.service.ImClientService;
/**
* @author lixiaozhong
......
package com.wecloud.im.friend.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -9,9 +7,13 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.util.Date;
import javax.validation.constraints.NotNull;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
/**
* @author lixiaozhong
* 好友关系表
......@@ -48,7 +50,7 @@ public class ImFriend extends BaseEntity {
/**
* 好友关系状态
* @see com.wecloud.im.enums.FriendStateEnum
* @see com.wecloud.im.sdk.enums.FriendStateEnum
*/
@ApiModelProperty("好友关系状态")
private Integer state;
......
......@@ -14,7 +14,7 @@ import java.io.Serializable;
public class FriendBaseEventDto implements Serializable {
/**
* 参考 {@link com.wecloud.im.enums.EventResponseSubCmdEnum EventResponseSubCmdEnum}
* 参考 {@link com.wecloud.im.sdk.enums.EventResponseSubCmdEnum EventResponseSubCmdEnum}
*/
@ApiModelProperty("响应命令")
private Integer subCmd;
......
package com.wecloud.im.friend.service;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.enums.EventResponseSubCmdEnum;
import com.wecloud.im.friend.param.FriendApplyEventDto;
import com.wecloud.im.friend.param.FriendApproveEventDto;
import com.wecloud.im.mq.MqSender;
import com.wecloud.im.sdk.enums.EventResponseSubCmdEnum;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.ws.enums.WsResponseCmdEnum;
import com.wecloud.im.ws.model.WsResponse;
......@@ -13,10 +19,6 @@ import com.wecloud.im.ws.model.request.PushVO;
import com.wecloud.im.ws.sender.ChannelSender;
import com.wecloud.pushserver.client.model.constant.MqConstant;
import com.wecloud.pushserver.client.model.dto.PushDTO;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Description TODO
......
package com.wecloud.im.friend.service;
import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl;
import io.geekidea.springbootplus.framework.core.pagination.PageInfo;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.enums.FriendStateEnum;
import com.wecloud.im.friend.entity.ImFriend;
import com.wecloud.im.friend.entity.ImFriendRecommend;
import com.wecloud.im.friend.mapper.ImFriendMapper;
......@@ -16,23 +31,9 @@ import com.wecloud.im.friend.param.ImFriendBaseDto;
import com.wecloud.im.friend.param.ImFriendPageParam;
import com.wecloud.im.friend.param.ImFriendRecommendDto;
import com.wecloud.im.param.ImClientSimpleDto;
import com.wecloud.im.sdk.enums.FriendStateEnum;
import com.wecloud.im.service.ImClientService;
import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl;
import io.geekidea.springbootplus.framework.core.pagination.PageInfo;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import com.wecloud.utils.SnowflakeUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description 好友关系处理逻辑
......
......@@ -57,7 +57,7 @@ public class ImConversationQueryVo implements Serializable {
/**
* 禁言开关
* @see com.wecloud.im.enums.MutedEnum
* @see com.wecloud.im.sdk.enums.MutedEnum
*/
@ApiModelProperty("禁言开关 1-未禁言 2-禁言")
private Integer muted;
......
......@@ -31,7 +31,7 @@ public class ListConversationMembersParam implements Serializable {
/**
* 禁言开关
* @see com.wecloud.im.enums.MutedEnum
* @see com.wecloud.im.sdk.enums.MutedEnum
*/
@ApiModelProperty("禁言开关 1-未禁言 2-禁言")
private Integer muted;
......
......@@ -4,8 +4,6 @@ import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
......@@ -22,7 +20,7 @@ public class LogoutParam extends BaseEntity {
/**
* 设备类型
* @see com.wecloud.im.enums.DeviceTypeEnum
* @see com.wecloud.im.sdk.enums.DeviceTypeEnum
*/
@ApiModelProperty("设备类型 1:ios; 2:android; 3:web; 4:win; 5:mac")
@NotNull(message = "设备类型不能为空")
......
package com.wecloud.im.param;
import com.wecloud.im.enums.MutedEnum;
import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -27,7 +26,7 @@ public class MutedGroupParam extends BaseEntity {
/**
* 禁言类型
* @see com.wecloud.im.enums.MutedEnum
* @see com.wecloud.im.sdk.enums.MutedEnum
*/
@NotNull
@ApiModelProperty("禁言类型 1-取消禁言 2-禁言")
......
......@@ -25,7 +25,7 @@ public class ClientDeviceUpdateParam extends BaseEntity {
/**
* 设备类型
* @see com.wecloud.im.enums.DeviceTypeEnum
* @see com.wecloud.im.sdk.enums.DeviceTypeEnum
*/
@ApiModelProperty("设备类型 1:ios; 2:android; 3:web; 4:win; 5:mac")
private Integer deviceType;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
import lombok.AllArgsConstructor;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
import lombok.AllArgsConstructor;
......
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
import lombok.AllArgsConstructor;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
import lombok.AllArgsConstructor;
......
package com.wecloud.im.enums;
package com.wecloud.im.sdk.enums;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
......
......@@ -31,8 +31,6 @@ import com.wecloud.dispatch.util.ActionRequestHolder;
import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.entity.ImClientDevice;
import com.wecloud.im.enums.FriendStateEnum;
import com.wecloud.im.enums.RelationEnum;
import com.wecloud.im.friend.entity.ImFriend;
import com.wecloud.im.friend.service.ImFriendService;
import com.wecloud.im.mapper.ImClientMapper;
......@@ -47,6 +45,8 @@ import com.wecloud.im.param.add.ImClientHeadPortraitAdd;
import com.wecloud.im.param.add.ImClientHeadPortraitAndNicknameUpdate;
import com.wecloud.im.param.add.ImClientNicknameAdd;
import com.wecloud.im.param.add.ImClientNicknameUpdate;
import com.wecloud.im.sdk.enums.FriendStateEnum;
import com.wecloud.im.sdk.enums.RelationEnum;
import com.wecloud.im.service.ContextService;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientBlacklistService;
......
......@@ -39,9 +39,6 @@ import com.wecloud.im.entity.ImConversation;
import com.wecloud.im.entity.ImConversationMembers;
import com.wecloud.im.entity.ImMessage;
import com.wecloud.im.entity.ImMessageOnlineSend;
import com.wecloud.im.enums.ChatTypeEnum;
import com.wecloud.im.enums.GroupRoleEnum;
import com.wecloud.im.enums.MutedEnum;
import com.wecloud.im.mapper.ImConversationMapper;
import com.wecloud.im.param.DisbandConversationParam;
import com.wecloud.im.param.ImClientSimpleDto;
......@@ -59,6 +56,9 @@ import com.wecloud.im.param.add.ImConversationAttrUpdate;
import com.wecloud.im.param.add.ImConversationCreate;
import com.wecloud.im.param.add.ImConversationDisplayUpdate;
import com.wecloud.im.param.add.ImConversationNameUpdate;
import com.wecloud.im.sdk.enums.ChatTypeEnum;
import com.wecloud.im.sdk.enums.GroupRoleEnum;
import com.wecloud.im.sdk.enums.MutedEnum;
import com.wecloud.im.service.ContextService;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientService;
......
......@@ -24,11 +24,11 @@ import com.wecloud.im.entity.ImConversationMembers;
import com.wecloud.im.entity.ImInbox;
import com.wecloud.im.entity.ImMessage;
import com.wecloud.im.entity.ImMessageOnlineSend;
import com.wecloud.im.enums.ReadMsgStatusEnum;
import com.wecloud.im.mapper.ImInboxMapper;
import com.wecloud.im.param.ImMsgReceivedStatusUpdate;
import com.wecloud.im.param.MsgReadStatusUpdateParam;
import com.wecloud.im.param.UpdateMsgReadStatusByConversationParam;
import com.wecloud.im.sdk.enums.ReadMsgStatusEnum;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImConversationMembersService;
......
......@@ -32,7 +32,6 @@ import com.wecloud.im.entity.ImConversation;
import com.wecloud.im.entity.ImConversationMembers;
import com.wecloud.im.entity.ImMessage;
import com.wecloud.im.entity.ImMessageOnlineSend;
import com.wecloud.im.enums.ChatTypeEnum;
import com.wecloud.im.mapper.ImMessageMapper;
import com.wecloud.im.mq.MqSender;
import com.wecloud.im.param.ChatContentVo;
......@@ -43,6 +42,7 @@ import com.wecloud.im.param.MsgDeleteParam;
import com.wecloud.im.param.add.ImMsgRecall;
import com.wecloud.im.param.add.ImMsgSendToOnlineClient;
import com.wecloud.im.param.add.ImMsgUpdate;
import com.wecloud.im.sdk.enums.ChatTypeEnum;
import com.wecloud.im.service.ContextService;
import com.wecloud.im.service.ImApplicationService;
import com.wecloud.im.service.ImClientService;
......
package com.wecloud.im.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.wecloud.im.entity.ImMultiRtcRoom;
import com.wecloud.im.enums.MultiRtcRoomStateEnum;
import com.wecloud.im.mapper.ImMultiRtcRoomMapper;
import com.wecloud.im.service.ImMultiRtcRoomService;
import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.wecloud.im.entity.ImMultiRtcRoom;
import com.wecloud.im.mapper.ImMultiRtcRoomMapper;
import com.wecloud.im.service.ImMultiRtcRoomService;
/**
* @Author wenzhida
* @Date 2022/3/16 9:27
......
......@@ -42,7 +42,7 @@ public class ClientInfoVo implements Serializable {
/**
* 与我关系
* @see com.wecloud.im.enums.RelationEnum
* @see com.wecloud.im.sdk.enums.RelationEnum
*/
@ApiModelProperty("与我关系 1-陌生人 2-好友 3-被我拉黑")
private Integer relation;
......
......@@ -37,14 +37,14 @@ public class ConversationMemberVo implements Serializable {
/**
* 群内角色
* @see com.wecloud.im.enums.GroupRoleEnum
* @see com.wecloud.im.sdk.enums.GroupRoleEnum
*/
@ApiModelProperty("群内角色")
private Integer role;
/**
* 禁言开关
* @see com.wecloud.im.enums.MutedEnum
* @see com.wecloud.im.sdk.enums.MutedEnum
*/
@ApiModelProperty("禁言开关 1-未禁言 2-禁言")
private Integer muted;
......
package com.wecloud.im.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -10,6 +9,8 @@ import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
* <pre>
* 会话表 查询结果对象
......@@ -67,7 +68,7 @@ public class ConversationVo implements Serializable {
/**
* 禁言开关
* @see com.wecloud.im.enums.MutedEnum
* @see com.wecloud.im.sdk.enums.MutedEnum
*/
@ApiModelProperty("禁言开关 1-未禁言 2-禁言")
private Integer muted;
......
......@@ -14,7 +14,7 @@ public enum WsResponseCmdEnum {
/**
* 服务端下发通知型消息,例如:好友申请,好友认证结果.
* 参数值参考{@link com.wecloud.im.enums.EventResponseSubCmdEnum EventResponseSubCmdEnum}
* 参数值参考{@link com.wecloud.im.sdk.enums.EventResponseSubCmdEnum EventResponseSubCmdEnum}
*/
NOTICE_EVENT_MSG(7),
......
package com.wecloud.multimeet.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
......@@ -27,7 +26,7 @@ public class RoomMemberDto implements Serializable {
/**
* 多人音视频房间成员状态枚举
* @see com.wecloud.im.enums.MultiRtcMemberStateEnum
* @see com.wecloud.im.sdk.enums.MultiRtcMemberStateEnum
*/
private Integer state;
......
package com.wecloud.multimeet.service.impl;
import io.geekidea.springbootplus.framework.common.exception.BusinessException;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.google.common.collect.Lists;
import com.wecloud.im.entity.ImClient;
import com.wecloud.im.entity.ImMultiRtcRoom;
import com.wecloud.im.entity.ImMultiRtcRoomMember;
import com.wecloud.im.enums.MultiRtcMemberStateEnum;
import com.wecloud.im.enums.MultiRtcRoomStateEnum;
import com.wecloud.im.param.AgreeToMultiMeetParam;
import com.wecloud.im.param.HeartbeatMultiMeetParam;
import com.wecloud.im.param.InviteToMultiMeetParam;
import com.wecloud.im.param.LeaveFromMultiMeetParam;
import com.wecloud.im.param.NotAnsweredMultiMeetParam;
import com.wecloud.im.param.RejectToMultiMeetParam;
import com.wecloud.im.sdk.enums.MultiRtcMemberStateEnum;
import com.wecloud.im.sdk.enums.MultiRtcRoomStateEnum;
import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImMultiRtcRoomMemberService;
import com.wecloud.im.service.ImMultiRtcRoomService;
......@@ -27,16 +39,6 @@ import com.wecloud.multimeet.entity.response.MultiMeetRejectResponse;
import com.wecloud.multimeet.service.MultiMeetService;
import com.wecloud.multimeet.service.WsMultiMeetWrite;
import com.wecloud.utils.SnowflakeUtil;
import io.geekidea.springbootplus.framework.common.exception.BusinessException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
* @Author wenzhida
......
......@@ -11,7 +11,7 @@ public class RtcCallResponse extends RtcDataBase implements Serializable {
/**
* 类型: "video" 或 "voice"
* @see com.wecloud.im.enums.CallTypeEnum
* @see com.wecloud.im.sdk.enums.CallTypeEnum
*/
private Integer callType;
......
package com.wecloud.im.sdk;
import com.wecloud.im.sdk.model.GetSignParam;
import com.wecloud.im.sdk.model.ImClient;
import com.wecloud.im.sdk.model.ImFriend;
import com.wecloud.im.sdk.model.ImTokenVerify;
import com.wecloud.im.sdk.model.Token;
/**
*
* @Author luozh
* @Date 2022年04月13日 11:09
* @Version 1.0
*/
public interface WecloudIm {
String sign(GetSignParam paramGetSignParam);
Token token(ImTokenVerify paramImTokenVerify);
ImClient getUserClient(Long paramLong);
Boolean createClient(Long paramLong, String paramString1, String paramString2, Integer paramInteger);
ImFriend getFriendInfo(Long paramLong1, Long paramLong2);
Boolean updateHeadPortrait(Long paramLong, String paramString);
Boolean updateNickname(Long paramLong, String paramString);
}
package com.wecloud.im.sdk;
import java.net.URI;
import com.wecloud.im.sdk.model.GetSignParam;
import com.wecloud.im.sdk.model.ImClient;
import com.wecloud.im.sdk.model.ImFriend;
import com.wecloud.im.sdk.model.ImTokenVerify;
import com.wecloud.im.sdk.model.Token;
/**
*
* @Author luozh
* @Date 2022年04月13日 11:23:24
* @Version 1.0
*/
public class WecloudImClient implements WecloudIm {
private URI endpoint;
private String appKey;
private String appSecret;
public WecloudImClient(URI endpoint, String appKey, String appSecret) {
this.endpoint = endpoint;
this.appKey = appKey;
this.appSecret = appSecret;
}
@Override
public String sign(GetSignParam signParam) {
return null;
}
@Override
public Token token(ImTokenVerify tokenVerify) {
return null;
}
@Override
public ImClient getUserClient(Long userId) {
return null;
}
@Override
public Boolean createClient(Long userId, String headPortrait, String nickname, Integer deviceType) {
return null;
}
@Override
public ImFriend getFriendInfo(Long clientId, Long userId) {
return null;
}
@Override
public Boolean updateHeadPortrait(Long clientId, String headPortrait) {
return null;
}
@Override
public Boolean updateNickname(Long clientId, String nickname) {
return null;
}
}
package com.wecloud.im.sdk;
import java.net.URI;
import java.net.URISyntaxException;
public class WecloudImClientBuilder {
public WecloudIm build(String endpoint, String appKey, String appSecret) {
try {
URI uri = new URI(endpoint);
return new WecloudImClient(uri, appKey, appSecret);
} catch (URISyntaxException e) {
throw new IllegalArgumentException(e);
}
}
}
package com.wecloud.im.sdk.common;
/**
* api code响应码
* @Author luozh
* @Date 2022年04月13日 10:58
* @Version 1.0
*/
public enum ApiCode {
/**
* 操作成功
**/
SUCCESS(200, "api.response.code.SUCCESS"),
/**
* 非法访问
**/
UNAUTHORIZED(401, "api.response.code.UNAUTHORIZED"),
/**
* 没有权限
**/
NOT_PERMISSION(403, "api.response.code.NOT_PERMISSION"),
/**
* 你请求的资源不存在
**/
NOT_FOUND(404, "api.response.code.NOT_FOUND"),
/**
* 操作失败
**/
FAIL(500, "api.response.code.FAIL"),
/**
* 登录失败
**/
LOGIN_EXCEPTION(4000, "api.response.code.LOGIN_EXCEPTION"),
/**
* 系统异常
**/
SYSTEM_EXCEPTION(5000, "api.response.code.SYSTEM_EXCEPTION"),
/**
* 请求参数校验异常
**/
PARAMETER_EXCEPTION(5001, "api.response.code.PARAMETER_EXCEPTION"),
/**
* 请求参数解析异常
**/
PARAMETER_PARSE_EXCEPTION(5002, "api.response.code.PARAMETER_PARSE_EXCEPTION"),
/**
* HTTP内容类型异常
**/
HTTP_MEDIA_TYPE_EXCEPTION(5003, "api.response.code.HTTP_MEDIA_TYPE_EXCEPTION"),
/**
* 系统处理异常
**/
SPRING_BOOT_PLUS_EXCEPTION(5100, "api.response.code.SPRING_BOOT_PLUS_EXCEPTION"),
/**
* 业务处理异常
**/
BUSINESS_EXCEPTION(5101, "api.response.code.BUSINESS_EXCEPTION"),
/**
* 数据库处理异常
**/
DAO_EXCEPTION(5102, "api.response.code.DAO_EXCEPTION"),
/**
* 验证码校验异常
**/
VERIFICATION_CODE_EXCEPTION(5103, "api.response.code.VERIFICATION_CODE_EXCEPTION"),
/**
* 登录授权异常
**/
AUTHENTICATION_EXCEPTION(5104, "api.response.code.AUTHENTICATION_EXCEPTION"),
/**
* 没有访问权限
**/
UNAUTHENTICATED_EXCEPTION(5105, "api.response.code.UNAUTHENTICATED_EXCEPTION"),
/**
* 没有访问权限
**/
UNAUTHORIZED_EXCEPTION(5106, "api.response.code.UNAUTHORIZED_EXCEPTION"),
/**
* JWT Token解析异常
**/
JWTDECODE_EXCEPTION(5107, "api.response.code.JWTDECODE_EXCEPTION"),
/**
* 默认的异常处理
*/
HTTP_REQUEST_METHOD_NOT_SUPPORTED_EXCEPTION(5108, "api.response.code.HTTP_REQUEST_METHOD_NOT_SUPPORTED_EXCEPTION"),
/**
* 已有会话,不能重复创建会话
*/
REPETITION_CONVERSATION(6010, "api.response.code.REPETITION_CONVERSATION"),
/**
* 成员不存在,不能创建会话
*/
CLIENT_NOT_FOUNT(6011, "api.response.code.CLIENT_NOT_FOUNT"),
/**
* 被对方拉黑
*/
IS_BE_BLACK(6012, "api.response.code.IS_BE_BLACK"),
/**
* 你把对方拉黑
*/
IS_TO_BLACK(6013, "api.response.code.IS_TO_BLACK"),
/**
* 已被踢出会话
*/
IS_BE_KICK_OUT(6014, "api.response.code.IS_BE_KICK_OUT"),
/**
* 已被禁言
*/
IS_BE_MUTED(6015, "api.response.code.IS_BE_MUTED"),
/**
* 群聊已解散
*/
IS_BE_DISBAND(6016, "api.response.code.IS_BE_DISBAND"),
;
private final int code;
private final String message;
ApiCode(final int code, final String message) {
this.code = code;
this.message = message;
}
public static ApiCode getApiCode(int code) {
ApiCode[] ecs = ApiCode.values();
for (ApiCode ec : ecs) {
if (ec.getCode() == code) {
return ec;
}
}
return SUCCESS;
}
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
}
package com.wecloud.im.sdk.common;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
*
* @Author luozh
* @Date 2022年04月13日 10:59
* @Version 1.0
*/
@Data
@Accessors(chain = true)
@Builder
@AllArgsConstructor
public class ApiResult<T> implements Serializable {
private static final long serialVersionUID = 8004487252556526569L;
/**
* 响应码
*/
private int code;
/**
* 响应消息
*/
private String message;
/**
* 响应数据
*/
private T data;
public ApiResult() {
}
}
package com.wecloud.im.common;
package com.wecloud.im.sdk.common;
import okhttp3.Call;
import okhttp3.Callback;
......
package com.wecloud.im.sdk.enums;
/**
* @Author wenzhida
* @Date 2022/3/2 17:15
* @Description 设备类型枚举
*/
public enum DeviceTypeEnum {
IOS(1, "IOS端"),
ANDROID(2, "安卓端"),
WEB(3, "web端"),
WIN(4, "PC-windows端"),
MAC(5, "PC-macOs端");
private final Integer code;
private final String desc;
DeviceTypeEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public Integer getCode() {
return this.code;
}
public String getDesc() {
return this.desc;
}
}
package com.wecloud.im.sdk.model;
import lombok.Data;
import java.io.Serializable;
/**
* sign
*
* @author wei
* @since 2021-04-29
*/
@Data
public class GetSignParam implements Serializable {
private static final long serialVersionUID = 1L;
private String timestamp;
private String clientId;
private String appKey;
private Integer platform;
private String appSecret;
}
package com.wecloud.im.sdk.model;
import lombok.Data;
import java.util.Date;
/**
* 终端表
*
* @author wei
* @since 2021-04-27
*/
@Data
public class ImClient {
private static final long serialVersionUID = 1L;
private Long id;
private Date createTime;
private Date lastOfflineTime;
private Date updateTime;
private Long fkAppid;
private String attributes;
private String clientId;
private String headPortrait;
private String nickname;
}
package com.wecloud.im.sdk.model;
import lombok.Data;
/**
*
* @Author luozh
* @Date 2022年04月13日 11:03
* @Version 1.0
*/
@Data
public class ImFriend {
private static final long serialVersionUID = 1L;
private Long id;
private String clientId;
private String clientIdFriend;
private String clientIdClaimer;
private String friendName;
private String rejectRemark;
private String requestRemark;
private Integer state;
}
package com.wecloud.im.sdk.model;
import lombok.Data;
/**
* token 校验
*
* @author wei
* @since 2021-04-29
*/
@Data
public class ImTokenVerify {
private static final long serialVersionUID = 1L;
/**
* 时间戳,需与生成sign时的值一致
*/
private String timestamp;
/**
* client客户端id,需与生成sign时的值一致
*/
private String clientId;
/**
* appkey,需与生成sign时的值一致
*/
private String appKey;
/**
* 客户端平台: 1 web, 2 安卓, 3 ios, 4 pc-win, 5 pc-macOs, 需与生成sign时的值一致
*/
private Integer platform;
/**
* 签名sign
*/
private String sign;
}
package com.wecloud.im.sdk.model;
import lombok.Data;
/**
*
* @Author luozh
* @Date 2022年04月13日 11:07
* @Version 1.0
*/
@Data
public class Token {
/**
* websocket登陆令牌
*/
private String token;
/**
* 客户端id
*/
private Long id;
/**
* webSocket连接地址
*/
private String wsAddr;
/**
* 加密密钥
*/
private String dataAesKey;
/**
* 可选 自定义属性,供开发者扩展使用。
*/
private String attributes;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment