Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wecloud_im_server
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
wecloud_im_server
Commits
04327fca
Commit
04327fca
authored
May 20, 2022
by
wei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.服务端api:根据ID获取会话表详情;
2.est-api-会话成员信息表分页列表; 3.
parent
f9230d11
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
184 additions
and
2 deletions
+184
-2
common/src/main/java/com/wecloud/im/controller/serverapi/ApiImConversationController.java
+64
-0
common/src/main/java/com/wecloud/im/controller/serverapi/ApiImConversationMembersController.java
+26
-1
common/src/main/java/com/wecloud/im/mapper/ImConversationMembersMapper.java
+3
-0
common/src/main/java/com/wecloud/im/param/ApiImConversationMembersInfoPageParam.java
+26
-0
common/src/main/java/com/wecloud/im/param/ApiImConversationMembersInfoQueryVo.java
+34
-0
common/src/main/java/com/wecloud/im/service/ImConversationMembersService.java
+3
-1
common/src/main/java/com/wecloud/im/service/impl/ImConversationMembersServiceImpl.java
+14
-0
common/src/main/resources/mapper/ImConversationMembersMapper.xml
+14
-0
No files found.
common/src/main/java/com/wecloud/im/controller/serverapi/ApiImConversationController.java
0 → 100644
View file @
04327fca
package
com
.
wecloud
.
im
.
controller
.
serverapi
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.service.ImApplicationService
;
import
com.wecloud.im.service.ImConversationService
;
import
com.wecloud.im.vo.MyConversationListVo
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.controller.BaseController
;
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.GetMapping
;
import
org.springframework.web.bind.annotation.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 会话表 控制器
*
* @author wei
* @since 2021-05-07
*/
@Slf4j
@RestController
@RequestMapping
(
"/server/conversation"
)
@Api
(
value
=
"会话表API"
,
tags
=
{
"会话表"
})
public
class
ApiImConversationController
extends
BaseController
{
@Autowired
private
ImConversationService
imConversationService
;
@Autowired
private
ImApplicationService
imApplicationService
;
/**
* 获取会话表详情
*/
@GetMapping
(
"/info"
)
@ApiOperation
(
value
=
"会话表详情"
)
public
ApiResult
<
MyConversationListVo
>
getImConversation
(
@RequestParam
(
"id"
)
Long
id
,
@RequestHeader
String
appkey
,
@RequestHeader
String
appSecret
)
throws
Exception
{
// 根据appKey从数据库查询密钥
ImApplication
imApplication
=
imApplicationService
.
getOneByAppKey
(
appkey
);
if
(
imApplication
==
null
)
{
return
ApiResult
.
result
(
ApiCode
.
FAIL
,
null
);
}
// 校验appkey 和appSecret
if
(!
imApplication
.
getAppSecret
().
equals
(
appSecret
))
{
return
ApiResult
.
result
(
ApiCode
.
FAIL
,
null
);
}
MyConversationListVo
imConversationQueryVo
=
imConversationService
.
getImConversationInfoById
(
id
);
return
ApiResult
.
ok
(
imConversationQueryVo
);
}
}
common/src/main/java/com/wecloud/im/controller/serverapi/ApiImConversationMembersController.java
View file @
04327fca
package
com
.
wecloud
.
im
.
controller
.
serverapi
;
package
com
.
wecloud
.
im
.
controller
.
serverapi
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.param.ApiImConversationMembersInfoPageParam
;
import
com.wecloud.im.param.ApiImConversationMembersInfoQueryVo
;
import
com.wecloud.im.param.ApiImConversationMembersPageParam
;
import
com.wecloud.im.param.ApiImConversationMembersPageParam
;
import
com.wecloud.im.param.ApiImConversationMembersQueryVo
;
import
com.wecloud.im.param.ApiImConversationMembersQueryVo
;
import
com.wecloud.im.param.add.ImConversationMemApiAdd
;
import
com.wecloud.im.param.add.ImConversationMemApiAdd
;
...
@@ -9,6 +11,7 @@ import com.wecloud.im.service.ImConversationMembersService;
...
@@ -9,6 +11,7 @@ import com.wecloud.im.service.ImConversationMembersService;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiCode
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.controller.BaseController
;
import
io.geekidea.springbootplus.framework.common.controller.BaseController
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
io.geekidea.springbootplus.framework.core.validator.groups.Add
;
import
io.geekidea.springbootplus.framework.core.validator.groups.Add
;
import
io.geekidea.springbootplus.framework.log.annotation.OperationLog
;
import
io.geekidea.springbootplus.framework.log.annotation.OperationLog
;
import
io.geekidea.springbootplus.framework.log.enums.OperationLogType
;
import
io.geekidea.springbootplus.framework.log.enums.OperationLogType
;
...
@@ -46,6 +49,28 @@ public class ApiImConversationMembersController extends BaseController {
...
@@ -46,6 +49,28 @@ public class ApiImConversationMembersController extends BaseController {
/**
/**
* 会话成员表分页列表
* 会话成员表分页列表
*/
*/
@PostMapping
(
"/findInfoList"
)
@OperationLog
(
name
=
"rest-api-会话成员信息表分页列表"
,
type
=
OperationLogType
.
PAGE
)
@ApiOperation
(
value
=
"rest-api-会话成员信息表分页列表"
)
public
ApiResult
<
Paging
<
ApiImConversationMembersInfoQueryVo
>>
getApiImConversationMembersInfoList
(
@Validated
@RequestBody
ApiImConversationMembersInfoPageParam
apiImConversationMembersInfoPageParam
,
@RequestHeader
String
appkey
,
@RequestHeader
String
appSecret
)
{
// 根据appKey从数据库查询密钥
ImApplication
imApplication
=
imApplicationService
.
getOneByAppKey
(
appkey
);
if
(
imApplication
==
null
)
{
return
ApiResult
.
result
(
ApiCode
.
FAIL
,
null
);
}
// 校验appkey 和appSecret
if
(!
imApplication
.
getAppSecret
().
equals
(
appSecret
))
{
return
ApiResult
.
result
(
ApiCode
.
FAIL
,
null
);
}
return
imConversationMembersService
.
getApiImConversationMembersInfoList
(
apiImConversationMembersInfoPageParam
,
imApplication
);
}
/**
* 会话成员表分页列表
*/
@PostMapping
(
"/findList"
)
@PostMapping
(
"/findList"
)
@OperationLog
(
name
=
"rest-api-会话成员表分页列表"
,
type
=
OperationLogType
.
PAGE
)
@OperationLog
(
name
=
"rest-api-会话成员表分页列表"
,
type
=
OperationLogType
.
PAGE
)
@ApiOperation
(
value
=
"rest-api-会话成员表分页列表"
)
@ApiOperation
(
value
=
"rest-api-会话成员表分页列表"
)
...
@@ -70,7 +95,7 @@ public class ApiImConversationMembersController extends BaseController {
...
@@ -70,7 +95,7 @@ public class ApiImConversationMembersController extends BaseController {
* 服务端api调用 将一名用户添加至会话: ${clientID}通过${type}加入会话 -1014
* 服务端api调用 将一名用户添加至会话: ${clientID}通过${type}加入会话 -1014
*/
*/
@PostMapping
(
"/add"
)
@PostMapping
(
"/add"
)
@ApiOperation
(
value
=
"
服务端api调用 将一名用户添加至会话:${clientID}通过${type}加入会话 -1014"
)
@ApiOperation
(
value
=
"服务端api调用 将一名用户添加至会话:${clientID}通过${type}加入会话 -1014"
)
public
ApiResult
<
Boolean
>
addImConversationMembers
(
@Validated
(
Add
.
class
)
@RequestBody
ImConversationMemApiAdd
imConversationMemApiAdd
public
ApiResult
<
Boolean
>
addImConversationMembers
(
@Validated
(
Add
.
class
)
@RequestBody
ImConversationMemApiAdd
imConversationMemApiAdd
,
@RequestHeader
String
appkey
,
@RequestHeader
String
appSecret
)
throws
Exception
{
,
@RequestHeader
String
appkey
,
@RequestHeader
String
appSecret
)
throws
Exception
{
// 根据appKey从数据库查询密钥
// 根据appKey从数据库查询密钥
...
...
common/src/main/java/com/wecloud/im/mapper/ImConversationMembersMapper.java
View file @
04327fca
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.wecloud.im.entity.ImConversationMembers
;
import
com.wecloud.im.entity.ImConversationMembers
;
import
com.wecloud.im.param.ApiImConversationMembersInfoQueryVo
;
import
com.wecloud.im.param.ApiImConversationMembersQueryVo
;
import
com.wecloud.im.param.ApiImConversationMembersQueryVo
;
import
com.wecloud.im.param.ImConversationMembersPageParam
;
import
com.wecloud.im.param.ImConversationMembersPageParam
;
import
com.wecloud.im.param.ImConversationMembersQueryVo
;
import
com.wecloud.im.param.ImConversationMembersQueryVo
;
...
@@ -34,6 +35,8 @@ public interface ImConversationMembersMapper extends BaseMapper<ImConversationMe
...
@@ -34,6 +35,8 @@ public interface ImConversationMembersMapper extends BaseMapper<ImConversationMe
List
<
ApiImConversationMembersQueryVo
>
getRestApiImConversationMembersList
(
@Param
(
"conversationId"
)
Long
conversationId
);
List
<
ApiImConversationMembersQueryVo
>
getRestApiImConversationMembersList
(
@Param
(
"conversationId"
)
Long
conversationId
);
IPage
<
ApiImConversationMembersInfoQueryVo
>
getApiImConversationMembersInfoList
(
@Param
(
"page"
)
Page
page
,
@Param
(
"conversationId"
)
Long
conversationId
);
List
<
ImConversationMemberListVo
>
getImConversationMembersList
(
@Param
(
"conversationId"
)
Long
conversationId
);
List
<
ImConversationMemberListVo
>
getImConversationMembersList
(
@Param
(
"conversationId"
)
Long
conversationId
);
...
...
common/src/main/java/com/wecloud/im/param/ApiImConversationMembersInfoPageParam.java
0 → 100644
View file @
04327fca
package
com
.
wecloud
.
im
.
param
;
import
io.geekidea.springbootplus.framework.core.pagination.BasePageOrderParam
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* <pre>
* 会话成员表 分页参数对象
* </pre>
*
* @author wei
* @date 2021-05-07
*/
@Data
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"ApiImConversationMembersInfoPageParam"
)
public
class
ApiImConversationMembersInfoPageParam
extends
BasePageOrderParam
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"会话表id"
,
required
=
true
)
private
Long
conversationId
;
}
common/src/main/java/com/wecloud/im/param/ApiImConversationMembersInfoQueryVo.java
0 → 100644
View file @
04327fca
package
com
.
wecloud
.
im
.
param
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <pre>
* 会话成员信息表 查询结果对象
* </pre>
*
* @author wei
* @date 2021-05-07
*/
@Data
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"ApiImConversationMembersInfoQueryVo"
)
public
class
ApiImConversationMembersInfoQueryVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"会话中client的备注名"
)
private
String
clientRemarkName
;
@ApiModelProperty
(
"头像"
)
private
String
headPortrait
;
@ApiModelProperty
(
"主昵称"
)
private
String
nickname
;
@ApiModelProperty
(
"clientId"
)
private
String
clientId
;
}
\ No newline at end of file
common/src/main/java/com/wecloud/im/service/ImConversationMembersService.java
View file @
04327fca
...
@@ -2,6 +2,8 @@ package com.wecloud.im.service;
...
@@ -2,6 +2,8 @@ package com.wecloud.im.service;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImConversationMembers
;
import
com.wecloud.im.entity.ImConversationMembers
;
import
com.wecloud.im.param.ApiImConversationMembersInfoPageParam
;
import
com.wecloud.im.param.ApiImConversationMembersInfoQueryVo
;
import
com.wecloud.im.param.ApiImConversationMembersPageParam
;
import
com.wecloud.im.param.ApiImConversationMembersPageParam
;
import
com.wecloud.im.param.ApiImConversationMembersQueryVo
;
import
com.wecloud.im.param.ApiImConversationMembersQueryVo
;
import
com.wecloud.im.param.ImConvMemeClientRemarkNameParam
;
import
com.wecloud.im.param.ImConvMemeClientRemarkNameParam
;
...
@@ -35,10 +37,10 @@ public interface ImConversationMembersService extends BaseService<ImConversation
...
@@ -35,10 +37,10 @@ public interface ImConversationMembersService extends BaseService<ImConversation
*/
*/
ApiResult
<
List
<
ApiImConversationMembersQueryVo
>>
getRestApiImConversationMembersList
(
ApiImConversationMembersPageParam
apiImConversationMembersPageParam
,
ImApplication
imApplication
);
ApiResult
<
List
<
ApiImConversationMembersQueryVo
>>
getRestApiImConversationMembersList
(
ApiImConversationMembersPageParam
apiImConversationMembersPageParam
,
ImApplication
imApplication
);
ApiResult
<
Paging
<
ApiImConversationMembersInfoQueryVo
>>
getApiImConversationMembersInfoList
(
ApiImConversationMembersInfoPageParam
apiImConversationMembersInfoPageParam
,
ImApplication
imApplication
);
ApiResult
<
Boolean
>
saveOrUpdateClientRemarkName
(
ImConvMemeClientRemarkNameParam
imConvMemeClientRemarkNameParam
);
ApiResult
<
Boolean
>
saveOrUpdateClientRemarkName
(
ImConvMemeClientRemarkNameParam
imConvMemeClientRemarkNameParam
);
/**
/**
* 会话成员表分页列表
* 会话成员表分页列表
*
*
...
...
common/src/main/java/com/wecloud/im/service/impl/ImConversationMembersServiceImpl.java
View file @
04327fca
...
@@ -13,6 +13,8 @@ import com.wecloud.im.entity.ImMessage;
...
@@ -13,6 +13,8 @@ import com.wecloud.im.entity.ImMessage;
import
com.wecloud.im.entity.ImMessageOnlineSend
;
import
com.wecloud.im.entity.ImMessageOnlineSend
;
import
com.wecloud.im.mapper.ImConversationMapper
;
import
com.wecloud.im.mapper.ImConversationMapper
;
import
com.wecloud.im.mapper.ImConversationMembersMapper
;
import
com.wecloud.im.mapper.ImConversationMembersMapper
;
import
com.wecloud.im.param.ApiImConversationMembersInfoPageParam
;
import
com.wecloud.im.param.ApiImConversationMembersInfoQueryVo
;
import
com.wecloud.im.param.ApiImConversationMembersPageParam
;
import
com.wecloud.im.param.ApiImConversationMembersPageParam
;
import
com.wecloud.im.param.ApiImConversationMembersQueryVo
;
import
com.wecloud.im.param.ApiImConversationMembersQueryVo
;
import
com.wecloud.im.param.ImConvMemeClientRemarkNameParam
;
import
com.wecloud.im.param.ImConvMemeClientRemarkNameParam
;
...
@@ -93,6 +95,18 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
...
@@ -93,6 +95,18 @@ public class ImConversationMembersServiceImpl extends BaseServiceImpl<ImConversa
}
}
@Override
@Override
public
ApiResult
<
Paging
<
ApiImConversationMembersInfoQueryVo
>>
getApiImConversationMembersInfoList
(
ApiImConversationMembersInfoPageParam
apiImConversationMembersInfoPageParam
,
ImApplication
imApplication
)
{
Page
<
ImConversationMembersQueryVo
>
page
=
new
PageInfo
<>(
apiImConversationMembersInfoPageParam
,
OrderItem
.
desc
(
getLambdaColumn
(
ImConversationMembers:
:
getCreateTime
)));
IPage
<
ApiImConversationMembersInfoQueryVo
>
iPage
=
imConversationMembersMapper
.
getApiImConversationMembersInfoList
(
page
,
apiImConversationMembersInfoPageParam
.
getConversationId
());
Paging
<
ApiImConversationMembersInfoQueryVo
>
paging
=
new
Paging
<>(
iPage
);
return
ApiResult
.
ok
(
paging
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ApiResult
<
Boolean
>
saveOrUpdateClientRemarkName
(
ImConvMemeClientRemarkNameParam
imConvMemeClientRemarkNameParam
)
{
public
ApiResult
<
Boolean
>
saveOrUpdateClientRemarkName
(
ImConvMemeClientRemarkNameParam
imConvMemeClientRemarkNameParam
)
{
...
...
common/src/main/resources/mapper/ImConversationMembersMapper.xml
View file @
04327fca
...
@@ -42,5 +42,19 @@
...
@@ -42,5 +42,19 @@
WHERE im_conversation_members.fk_conversation_id = #{conversationId}
WHERE im_conversation_members.fk_conversation_id = #{conversationId}
</select>
</select>
<select
id=
"getApiImConversationMembersInfoList"
resultType=
"com.wecloud.im.param.ApiImConversationMembersInfoQueryVo"
>
SELECT im_client.client_id as clientId,
im_conversation_members.client_remark_name as clientRemarkName,
im_client.head_portrait as headPortrait,
im_client.nickname,
im_conversation_members.attributes AS memberAttributes,
im_client.attributes AS clientAttributes
FROM im_conversation_members AS im_conversation_members
INNER JOIN im_client AS im_client ON im_client.id = im_conversation_members.fk_client_id
WHERE im_conversation_members.fk_conversation_id = #{conversationId}
</select>
</mapper>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment