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
27bd123a
Commit
27bd123a
authored
Dec 02, 2021
by
hweeeeeei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加接口: 根据ids获取Client的头像昵称
parent
d5e41fdc
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
106 additions
and
5 deletions
+106
-5
common/src/main/java/com/wecloud/im/controller/ImClientController.java
+5
-4
common/src/main/java/com/wecloud/im/mapper/ImClientMapper.java
+4
-0
common/src/main/java/com/wecloud/im/param/GetClientInfoParam.java
+4
-1
common/src/main/java/com/wecloud/im/service/ImClientService.java
+15
-0
common/src/main/java/com/wecloud/im/service/impl/ImClientServiceImpl.java
+30
-0
common/src/main/java/com/wecloud/im/vo/GetInfoListVo.java
+27
-0
common/src/main/resources/mapper/ImClientMapper.xml
+21
-0
No files found.
common/src/main/java/com/wecloud/im/controller/ImClientController.java
View file @
27bd123a
package
com
.
wecloud
.
im
.
controller
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.param.GetClientInfoParam
;
import
com.wecloud.im.param.GetOnlineStatusParam
;
import
com.wecloud.im.param.add.ImClientDeviceInfoAdd
;
import
com.wecloud.im.param.add.ImClientHeadPortraitAdd
;
import
com.wecloud.im.param.add.ImClientNicknameAdd
;
import
com.wecloud.im.service.ImApplicationService
;
import
com.wecloud.im.service.ImClientService
;
import
com.wecloud.im.vo.GetInfoListVo
;
import
com.wecloud.im.vo.ImOnlineStatusVo
;
import
com.wecloud.im.ws.service.MangerChannelService
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
...
...
@@ -49,11 +51,10 @@ public class ImClientController extends BaseController {
private
ImApplicationService
imApplicationService
;
@PostMapping
(
"/info"
)
@PostMapping
(
"/info
List
"
)
@ApiOperation
(
value
=
"根据id获取Client的头像昵称"
)
public
ApiResult
<
Boolean
>
getInfo
(
@Validated
(
Add
.
class
)
@RequestBody
ImClientDeviceInfoAdd
imClientDevice
)
throws
Exception
{
boolean
flag
=
imClientService
.
updateDeviceInfo
(
imClientDevice
);
return
ApiResult
.
result
(
flag
);
public
ApiResult
<
List
<
GetInfoListVo
>>
getInfoList
(
@Validated
(
Add
.
class
)
@RequestBody
GetClientInfoParam
getClientInfoParam
)
throws
Exception
{
return
imClientService
.
getInfoList
(
getClientInfoParam
);
}
...
...
common/src/main/java/com/wecloud/im/mapper/ImClientMapper.java
View file @
27bd123a
...
...
@@ -6,10 +6,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.param.ImClientPageParam
;
import
com.wecloud.im.param.ImClientQueryVo
;
import
com.wecloud.im.vo.GetInfoListVo
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* 终端表 Mapper 接口
...
...
@@ -41,4 +43,6 @@ public interface ImClientMapper extends BaseMapper<ImClient> {
int
removeOldToken
(
@Param
(
"appId"
)
Long
appId
,
@Param
(
"deviceToken"
)
String
deviceToken
);
List
<
GetInfoListVo
>
getInfoList
(
@Param
(
"appId"
)
Long
appId
,
@Param
(
"conversationId"
)
Long
conversationId
,
@Param
(
"clientIds"
)
List
<
String
>
clientIds
);
}
common/src/main/java/com/wecloud/im/param/GetClientInfoParam.java
View file @
27bd123a
...
...
@@ -19,7 +19,10 @@ public class GetClientInfoParam implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"client客户端id"
)
private
List
<
String
>
clientId
;
private
List
<
String
>
clientIds
;
@ApiModelProperty
(
"会话id"
)
private
Long
conversationId
;
}
common/src/main/java/com/wecloud/im/service/ImClientService.java
View file @
27bd123a
package
com
.
wecloud
.
im
.
service
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.param.GetClientInfoParam
;
import
com.wecloud.im.param.ImClientPageParam
;
import
com.wecloud.im.param.ImClientQueryVo
;
import
com.wecloud.im.param.add.ImClientDeviceInfoAdd
;
import
com.wecloud.im.param.add.ImClientHeadPortraitAdd
;
import
com.wecloud.im.param.add.ImClientNicknameAdd
;
import
com.wecloud.im.vo.GetInfoListVo
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
import
io.geekidea.springbootplus.framework.common.service.BaseService
;
import
io.geekidea.springbootplus.framework.core.pagination.Paging
;
import
java.util.List
;
/**
* 终端表 服务类
*
...
...
@@ -20,6 +25,16 @@ public interface ImClientService extends BaseService<ImClient> {
boolean
updateHeadPortrait
(
ImClientHeadPortraitAdd
imClientHeadPortraitAdd
)
throws
Exception
;
/**
* 根据ids获取Client的头像昵称
*
* @param getClientInfoParam
* @return
* @throws Exception
*/
ApiResult
<
List
<
GetInfoListVo
>>
getInfoList
(
GetClientInfoParam
getClientInfoParam
)
throws
Exception
;
boolean
updateNickname
(
ImClientNicknameAdd
imClientNicknameAdd
)
throws
Exception
;
/**
...
...
common/src/main/java/com/wecloud/im/service/impl/ImClientServiceImpl.java
View file @
27bd123a
...
...
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.mapper.ImClientMapper
;
import
com.wecloud.im.param.GetClientInfoParam
;
import
com.wecloud.im.param.ImClientPageParam
;
import
com.wecloud.im.param.ImClientQueryVo
;
import
com.wecloud.im.param.add.ImClientDeviceInfoAdd
;
...
...
@@ -15,6 +16,8 @@ import com.wecloud.im.param.add.ImClientHeadPortraitAdd;
import
com.wecloud.im.param.add.ImClientNicknameAdd
;
import
com.wecloud.im.service.ImApplicationService
;
import
com.wecloud.im.service.ImClientService
;
import
com.wecloud.im.vo.GetInfoListVo
;
import
io.geekidea.springbootplus.framework.common.api.ApiResult
;
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
;
...
...
@@ -29,6 +32,8 @@ import org.springframework.cache.annotation.Cacheable;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
* 终端表 服务实现类
*
...
...
@@ -67,6 +72,31 @@ public class ImClientServiceImpl extends BaseServiceImpl<ImClientMapper, ImClien
}
@Override
public
ApiResult
<
List
<
GetInfoListVo
>>
getInfoList
(
GetClientInfoParam
getClientInfoParam
)
throws
Exception
{
ImClient
curentClient
=
getCurentClient
();
// List<ImClient> imClients = this.list(new QueryWrapper<ImClient>().lambda()
// .eq(ImClient::getFkAppid, curentClient.getFkAppid())
// .in(ImClient::getClientId, getClientInfoParam.getClientId())
// );
//
// List<GetInfoListVo> getInfoListVos = new ArrayList<>();
//
// for (ImClient imClient : imClients) {
//
// GetInfoListVo getInfoListVo = new GetInfoListVo();
// getInfoListVo.setHeadPortrait(imClient.getHeadPortrait());
// getInfoListVo.setNickname(imClient.getNickname());
// getInfoListVo.setClientId(imClient.getClientId());
// getInfoListVos.add(getInfoListVo);
// }
List
<
GetInfoListVo
>
infoList
=
imClientMapper
.
getInfoList
(
curentClient
.
getFkAppid
(),
getClientInfoParam
.
getConversationId
(),
getClientInfoParam
.
getClientIds
());
return
ApiResult
.
ok
(
infoList
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateNickname
(
ImClientNicknameAdd
imClientNicknameAdd
)
throws
Exception
{
ImClient
curentClient
=
getCurentClient
();
...
...
common/src/main/java/com/wecloud/im/vo/GetInfoListVo.java
0 → 100644
View file @
27bd123a
package
com
.
wecloud
.
im
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
@Data
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"GetInfoListVo"
)
public
class
GetInfoListVo
implements
Serializable
{
@ApiModelProperty
(
"会话中client的备注名"
)
private
String
clientRemarkName
;
@ApiModelProperty
(
"头像"
)
private
String
headPortrait
;
@ApiModelProperty
(
"主昵称"
)
private
String
nickname
;
@ApiModelProperty
(
"clientId"
)
private
String
clientId
;
@ApiModelProperty
(
"client自己的自定义扩展属性"
)
private
String
clientAttributes
;
@ApiModelProperty
(
"会话成员列表的自定义扩展属性"
)
private
String
memberAttributes
;
}
common/src/main/resources/mapper/ImClientMapper.xml
View file @
27bd123a
...
...
@@ -26,5 +26,26 @@
<include
refid=
"Base_Column_List"
/>
from im_client
</select>
<select
id=
"getInfoList"
resultType=
"com.wecloud.im.vo.GetInfoListVo"
>
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}
AND im_conversation_members.fk_appid = #{appId}
AND im_client.client_id IN
<foreach
collection=
"clientIds"
item=
"clientId"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{clientId}
</foreach>
</select>
</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