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
1305aa8a
Commit
1305aa8a
authored
Apr 18, 2022
by
罗长华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sdk增加modifyUser,调整部分代码
parent
92d88341
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
125 additions
and
12 deletions
+125
-12
im-sdk/src/main/java/com/wecloud/im/sdk/ResourcePathConstants.java
+5
-0
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudIm.java
+12
-0
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudImClient.java
+9
-0
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImClientOperation.java
+34
-3
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImOperation.java
+1
-9
im-sdk/src/main/java/com/wecloud/im/sdk/model/ModifyUserRequest.java
+32
-0
im-sdk/src/main/java/com/wecloud/im/sdk/sample/ModifySample.java
+26
-0
im-sdk/src/main/java/com/wecloud/im/sdk/utils/CodingUtils.java
+6
-0
No files found.
im-sdk/src/main/java/com/wecloud/im/sdk/ResourcePathConstants.java
View file @
1305aa8a
...
@@ -21,5 +21,10 @@ public class ResourcePathConstants {
...
@@ -21,5 +21,10 @@ public class ResourcePathConstants {
*/
*/
public
static
final
String
GET_TOKEN_URL
=
"/api/token/getToken"
;
public
static
final
String
GET_TOKEN_URL
=
"/api/token/getToken"
;
/**
* 修改用户
*/
public
static
final
String
MODIFY_USER_URL
=
"/api/user/modifyUser"
;
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudIm.java
View file @
1305aa8a
...
@@ -34,4 +34,16 @@ public interface WecloudIm {
...
@@ -34,4 +34,16 @@ public interface WecloudIm {
*/
*/
Token
getToken
(
Long
userId
,
Integer
deviceType
);
Token
getToken
(
Long
userId
,
Integer
deviceType
);
/**
* 修改用户
* @Author luozh
* @Date 2022年04月18日 03:29:52
* @param userId 用户id
* @param nickname 昵称
* @param headPortrait 头像
* @Return
*/
Boolean
modifyUser
(
Long
userId
,
String
nickname
,
String
headPortrait
);
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/WecloudImClient.java
View file @
1305aa8a
...
@@ -5,6 +5,7 @@ import java.net.URL;
...
@@ -5,6 +5,7 @@ import java.net.URL;
import
com.wecloud.im.sdk.internal.WecloudImClientOperation
;
import
com.wecloud.im.sdk.internal.WecloudImClientOperation
;
import
com.wecloud.im.sdk.model.ClientLoginRequest
;
import
com.wecloud.im.sdk.model.ClientLoginRequest
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.ModifyUserRequest
;
import
com.wecloud.im.sdk.model.RegisterClientRequest
;
import
com.wecloud.im.sdk.model.RegisterClientRequest
;
import
com.wecloud.im.sdk.model.Token
;
import
com.wecloud.im.sdk.model.Token
;
...
@@ -58,6 +59,14 @@ public class WecloudImClient implements WecloudIm {
...
@@ -58,6 +59,14 @@ public class WecloudImClient implements WecloudIm {
return
imClientOperation
.
getToken
(
clientLoginRequest
);
return
imClientOperation
.
getToken
(
clientLoginRequest
);
}
}
@Override
public
Boolean
modifyUser
(
Long
userId
,
String
nickname
,
String
headPortrait
)
{
ModifyUserRequest
modifyUserRequest
=
ModifyUserRequest
.
builder
().
userId
(
userId
).
nickname
(
nickname
).
headPortrait
(
headPortrait
).
build
();
return
imClientOperation
.
modifyUser
(
modifyUserRequest
);
}
private
void
initOperations
()
{
private
void
initOperations
()
{
this
.
imClientOperation
=
new
WecloudImClientOperation
(
apiDomain
,
appKey
,
appSecret
);
this
.
imClientOperation
=
new
WecloudImClientOperation
(
apiDomain
,
appKey
,
appSecret
);
}
}
...
...
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImClientOperation.java
View file @
1305aa8a
...
@@ -3,6 +3,7 @@ package com.wecloud.im.sdk.internal;
...
@@ -3,6 +3,7 @@ package com.wecloud.im.sdk.internal;
import
java.net.URL
;
import
java.net.URL
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Optional
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
...
@@ -10,11 +11,14 @@ import com.wecloud.im.sdk.common.HttpMethod;
...
@@ -10,11 +11,14 @@ import com.wecloud.im.sdk.common.HttpMethod;
import
com.wecloud.im.sdk.common.RequestMessage
;
import
com.wecloud.im.sdk.common.RequestMessage
;
import
com.wecloud.im.sdk.model.ClientLoginRequest
;
import
com.wecloud.im.sdk.model.ClientLoginRequest
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.ImClient
;
import
com.wecloud.im.sdk.model.ModifyUserRequest
;
import
com.wecloud.im.sdk.model.RegisterClientRequest
;
import
com.wecloud.im.sdk.model.RegisterClientRequest
;
import
com.wecloud.im.sdk.model.Token
;
import
com.wecloud.im.sdk.model.Token
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
GET_TOKEN_URL
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
GET_TOKEN_URL
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
MODIFY_USER_URL
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
REGISTER_CLIENT_URL
;
import
static
com
.
wecloud
.
im
.
sdk
.
ResourcePathConstants
.
REGISTER_CLIENT_URL
;
import
static
com
.
wecloud
.
im
.
sdk
.
utils
.
CodingUtils
.
assertParameterNotBlank
;
import
static
com
.
wecloud
.
im
.
sdk
.
utils
.
CodingUtils
.
assertParameterNotNull
;
import
static
com
.
wecloud
.
im
.
sdk
.
utils
.
CodingUtils
.
assertParameterNotNull
;
/**
/**
...
@@ -42,10 +46,9 @@ public class WecloudImClientOperation extends WecloudImOperation {
...
@@ -42,10 +46,9 @@ public class WecloudImClientOperation extends WecloudImOperation {
assertParameterNotNull
(
userId
,
"userId"
);
assertParameterNotNull
(
userId
,
"userId"
);
// 校验通过 构建参数
// 校验通过 构建参数
Map
<
String
,
String
>
param
=
new
HashMap
<>();
Map
<
String
,
String
>
param
=
new
HashMap
<>();
param
.
put
(
"appKey"
,
appKey
);
param
.
put
(
"userId"
,
registerClientRequest
.
getUserId
()
+
""
);
param
.
put
(
"userId"
,
registerClientRequest
.
getUserId
()
+
""
);
param
.
put
(
"headPortrait"
,
registerClientRequest
.
getHeadPortrait
(
));
param
.
put
(
"headPortrait"
,
Optional
.
ofNullable
(
registerClientRequest
.
getHeadPortrait
()).
orElse
(
""
));
param
.
put
(
"nickname"
,
registerClientRequest
.
getNickname
(
));
param
.
put
(
"nickname"
,
Optional
.
ofNullable
(
registerClientRequest
.
getNickname
()).
orElse
(
""
));
// 发送请求
// 发送请求
RequestMessage
request
=
new
WecloudRequestMessageBuilder
().
setEndpoint
(
REGISTER_CLIENT_URL
)
RequestMessage
request
=
new
WecloudRequestMessageBuilder
().
setEndpoint
(
REGISTER_CLIENT_URL
)
.
setMethod
(
HttpMethod
.
POST
).
setParameters
(
param
)
.
setMethod
(
HttpMethod
.
POST
).
setParameters
(
param
)
...
@@ -82,7 +85,35 @@ public class WecloudImClientOperation extends WecloudImOperation {
...
@@ -82,7 +85,35 @@ public class WecloudImClientOperation extends WecloudImOperation {
JSONObject
result
=
doOperation
(
request
);
JSONObject
result
=
doOperation
(
request
);
Token
token
=
JSON
.
parseObject
(
result
.
toJSONString
(),
Token
.
class
);
Token
token
=
JSON
.
parseObject
(
result
.
toJSONString
(),
Token
.
class
);
return
token
;
return
token
;
}
/**
* 修改用户
* @Author luozh
* @Date 2022年04月18日 03:31:04
* @param modifyUserRequest
* @Return
*/
public
Boolean
modifyUser
(
ModifyUserRequest
modifyUserRequest
)
{
Long
userId
=
modifyUserRequest
.
getUserId
();
String
headPortrait
=
modifyUserRequest
.
getHeadPortrait
();
String
nickname
=
modifyUserRequest
.
getNickname
();
// 参数校验
assertParameterNotNull
(
userId
,
"userId"
);
assertParameterNotBlank
(
headPortrait
,
"headPortrait"
);
assertParameterNotBlank
(
nickname
,
"headPortrait"
);
// 校验通过 构建参数
Map
<
String
,
String
>
param
=
new
HashMap
<>();
param
.
put
(
"userId"
,
userId
+
""
);
param
.
put
(
"headPortrait"
,
headPortrait
);
param
.
put
(
"nickname"
,
nickname
);
// 发送请求
RequestMessage
request
=
new
WecloudRequestMessageBuilder
().
setEndpoint
(
MODIFY_USER_URL
)
.
setMethod
(
HttpMethod
.
POST
).
setParameters
(
param
)
.
setOriginalRequest
(
modifyUserRequest
).
build
();
JSONObject
result
=
doOperation
(
request
);
Boolean
flag
=
JSON
.
parseObject
(
result
.
toJSONString
(),
Boolean
.
class
);
return
flag
;
}
}
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/internal/WecloudImOperation.java
View file @
1305aa8a
...
@@ -4,10 +4,7 @@ import okhttp3.Response;
...
@@ -4,10 +4,7 @@ import okhttp3.Response;
import
java.net.URL
;
import
java.net.URL
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
...
@@ -57,14 +54,9 @@ public abstract class WecloudImOperation {
...
@@ -57,14 +54,9 @@ public abstract class WecloudImOperation {
private
JSONObject
send
(
RequestMessage
request
)
{
private
JSONObject
send
(
RequestMessage
request
)
{
try
{
try
{
// 组装请求
// 组装请求
Map
<
String
,
Object
>
parameters
=
BeanUtil
.
beanToMap
(
request
.
getOriginalRequest
(),
false
,
true
);
Map
<
String
,
String
>
finalParameters
=
new
HashMap
<>();
parameters
.
forEach
((
k
,
v
)
->
{
finalParameters
.
put
(
k
,
v
.
toString
());
});
URL
endpoint
=
new
URL
(
apiDomain
,
request
.
getEndpoint
());
URL
endpoint
=
new
URL
(
apiDomain
,
request
.
getEndpoint
());
HttpClient
httpClient
=
HttpClient
httpClient
=
HttpClient
.
builder
().
url
(
endpoint
).
addHeaders
(
request
.
getHeaders
()).
addParams
(
request
.
getParameters
())
.
addParams
(
finalParameters
)
;
HttpClient
.
builder
().
url
(
endpoint
).
addHeaders
(
request
.
getHeaders
()).
addParams
(
request
.
getParameters
());
if
(
HttpMethod
.
POST
.
equals
(
request
.
getMethod
()))
{
if
(
HttpMethod
.
POST
.
equals
(
request
.
getMethod
()))
{
httpClient
.
post
(
true
);
httpClient
.
post
(
true
);
...
...
im-sdk/src/main/java/com/wecloud/im/sdk/model/ModifyUserRequest.java
0 → 100644
View file @
1305aa8a
package
com
.
wecloud
.
im
.
sdk
.
model
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 修改用户请求参数
* @Author luozh
* @Date 2022年04月18日 15:25
* @Version 1.0
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@Builder
public
class
ModifyUserRequest
extends
WebServiceRequest
{
/**
* userId
*/
private
Long
userId
;
/**
* 昵称
*/
private
String
nickname
;
/**
* 头像url
*/
private
String
headPortrait
;
}
im-sdk/src/main/java/com/wecloud/im/sdk/sample/ModifySample.java
0 → 100644
View file @
1305aa8a
package
com
.
wecloud
.
im
.
sdk
.
sample
;
import
com.alibaba.fastjson.JSONObject
;
import
com.wecloud.im.sdk.WecloudIm
;
import
com.wecloud.im.sdk.WecloudImClientBuilder
;
/**
*
* @Author luozh
* @Date 2022年04月18日 13:38
* @Version 1.0
*/
public
class
ModifySample
{
public
static
void
main
(
String
[]
args
)
{
WecloudIm
im
=
new
WecloudImClientBuilder
().
build
(
"http://127.0.0.1:8082"
,
"QizKVHcILRWp6Td2"
,
"287d04828099fb7de871e9dda845fa8b6b2302faf2ab3737"
);
Long
userId
=
20220413001L
;
String
headPortrait
=
"http://123"
;
String
nickname
=
"luo_test2"
;
Boolean
result
=
im
.
modifyUser
(
userId
,
nickname
,
headPortrait
);
System
.
out
.
println
(
"\t modify user result="
+
JSONObject
.
toJSONString
(
result
));
}
}
im-sdk/src/main/java/com/wecloud/im/sdk/utils/CodingUtils.java
View file @
1305aa8a
...
@@ -14,4 +14,10 @@ public class CodingUtils {
...
@@ -14,4 +14,10 @@ public class CodingUtils {
}
}
}
}
public
static
void
assertParameterNotBlank
(
String
param
,
String
paramName
)
{
if
(
param
==
null
||
""
.
equals
(
param
))
{
throw
new
NullPointerException
(
"参数:"
+
paramName
+
" 不能为空"
);
}
}
}
}
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