Skip to content

Commit d2a9720

Browse files
committed
refactor:robot client
1 parent 9e45786 commit d2a9720

File tree

4 files changed

+98
-36
lines changed

4 files changed

+98
-36
lines changed

.gitignore

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Compiled class file
2+
*.class
3+
4+
# Log file
5+
*.log
6+
7+
# BlueJ files
8+
*.ctxt
9+
10+
# Mobile Tools for Java (J2ME)
11+
.mtj.tmp/
12+
13+
# Package Files #
14+
*.jar
15+
*.war
16+
*.nar
17+
*.ear
18+
*.zip
19+
*.tar.gz
20+
*.rar
21+
22+
### Maven template
23+
target/
24+
pom.xml.tag
25+
pom.xml.releaseBackup
26+
pom.xml.versionsBackup
27+
pom.xml.next
28+
release.properties
29+
dependency-reduced-pom.xml
30+
buildNumber.properties
31+
.mvn/timing.properties
32+
.mvn/wrapper/maven-wrapper.jar
33+
34+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
35+
hs_err_pid*
36+
37+
# idea
38+
.idea
39+
*.iml
40+
out
41+
gen
42+
# IntelliJ
43+
out/

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@
4949
<dependency>
5050
<groupId>com.hb0730</groupId>
5151
<artifactId>https</artifactId>
52-
<version>4.0.1</version>
52+
<version>4.0.2</version>
5353
</dependency>
5454
<dependency>
5555
<groupId>com.hb0730</groupId>
5656
<artifactId>jsons</artifactId>
57-
<version>1.0.0</version>
57+
<version>1.0.3</version>
5858
</dependency>
5959
<dependency>
6060
<groupId>org.slf4j</groupId>
@@ -64,7 +64,7 @@
6464
<dependency>
6565
<groupId>cn.hutool</groupId>
6666
<artifactId>hutool-core</artifactId>
67-
<version>5.8.2</version>
67+
<version>5.8.5</version>
6868
</dependency>
6969
<dependency>
7070
<groupId>org.projectlombok</groupId>

src/main/java/io/github/group/robot/weixin/RobotSend.java renamed to src/main/java/io/github/group/robot/weixin/WeixinRobotClient.java

Lines changed: 42 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@
88
import com.hb0730.jsons.SimpleJsonProxy;
99
import io.github.group.robot.weixin.exception.WeixiuRobotException;
1010
import io.github.group.robot.weixin.model.Message;
11+
import lombok.AllArgsConstructor;
1112
import lombok.Getter;
13+
import lombok.NoArgsConstructor;
1214
import lombok.Setter;
1315
import lombok.extern.slf4j.Slf4j;
1416

17+
import java.util.Map;
18+
1519
/**
1620
* request send service
1721
*
@@ -20,60 +24,75 @@
2024
* @since 1.0.0
2125
*/
2226
@Slf4j
23-
public class RobotSend {
27+
@AllArgsConstructor
28+
@NoArgsConstructor
29+
public class WeixinRobotClient {
2430
/**
2531
* WeChat group robot webhook url
2632
*/
2733
@Getter
2834
@Setter
2935
private String webhook;
3036

31-
public RobotSend() {
32-
}
33-
34-
public RobotSend(String webhook) {
35-
if (StrUtil.isBlank(webhook)) {
36-
throw new WeixiuRobotException("webhook missing");
37-
}
38-
this.webhook = webhook;
37+
/**
38+
* send message
39+
*
40+
* @param message message
41+
* @return result
42+
*/
43+
public RobotResult sendMessage(Message message) {
44+
return sendMessage(this.webhook, message);
3945
}
4046

4147
/**
42-
* send request
48+
* send message
4349
*
44-
* @param message robot message
45-
* @return send response
50+
* @param url webhook
51+
* @param message message
52+
* @return result
4653
*/
47-
public RobotResult send(Message message) {
54+
public RobotResult sendMessage(String url, Message message) {
4855
if (null == message) {
4956
throw new WeixiuRobotException("message missing");
5057
}
51-
String jsonStr = SimpleJsonProxy.json.toJson(message.toMessageMap());
52-
return send(jsonStr);
58+
Map<String, Object> map = message.toMessageMap();
59+
return sendMessage(url, SimpleJsonProxy.json.toJson(map));
5360
}
5461

5562
/**
56-
* send request
63+
* send message
5764
*
58-
* @param message message json
59-
* @return send response
65+
* @param json message json
66+
* @return result
6067
*/
61-
public RobotResult send(String message) {
62-
if (StrUtil.isBlank(this.webhook)) {
68+
public RobotResult sendMessage(String json) {
69+
return sendMessage(this.webhook, json);
70+
}
71+
72+
/**
73+
* send message
74+
*
75+
* @param url webhook
76+
* @param json message json
77+
* @return result
78+
*/
79+
public RobotResult sendMessage(String url, String json) {
80+
if (StrUtil.isBlank(url)) {
6381
throw new WeixiuRobotException("url missing");
6482
}
65-
if (StrUtil.isBlank(message)) {
83+
if (StrUtil.isBlank(json)) {
6684
throw new WeixiuRobotException("message missing");
6785
}
68-
SimpleHttpResponse response = SimpleHttp.HTTP.post(webhook, message,
86+
SimpleHttpResponse response = SimpleHttp.HTTP.post(webhook, json,
6987
HttpHeader.builder().add(Constants.CONTENT_TYPE,
7088
Constants.CONTENT_TYPE_JSON_UTF_8));
7189
if (log.isDebugEnabled()) {
72-
log.info("request body:{}", message);
90+
log.info("request body:{}", json);
7391
log.info("response status: {},body:{}", response.isSuccess(), response.isSuccess() ? response.getBodyStr() :
7492
"");
7593
}
7694
return RobotResult.toObject(response.getBodyStr());
7795
}
7896

97+
7998
}

src/test/java/io/github/group/robot/weixin/RobotSendTest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@
2929

3030
@Slf4j
3131
class RobotSendTest {
32-
RobotSend send = new RobotSend();
32+
WeixinRobotClient send = new WeixinRobotClient();
3333

3434
@Test
3535
void send() {
3636
String webhook = System.getenv("webhook");
3737
send.setWebhook(webhook);
38-
RobotResult result = send.send(TextMessage.TextMessageBuilder.builder().setContent("Hi,我是机器人测试\n" +
38+
RobotResult result = send.sendMessage(TextMessage.TextMessageBuilder.builder().setContent("Hi,我是机器人测试\n" +
3939
"由XX于06月17日添加到群").build());
4040
log.info(result.toString());
4141
}
@@ -44,7 +44,7 @@ void send() {
4444
void sendTextMessageTest() {
4545
String webhook = System.getenv("webhook");
4646
send.setWebhook(webhook);
47-
RobotResult result = send.send(TextMessage.TextMessageBuilder.builder().setContent("Hi,我是机器人测试\n" +
47+
RobotResult result = send.sendMessage(TextMessage.TextMessageBuilder.builder().setContent("Hi,我是机器人测试\n" +
4848
"由XX于06月17日添加到群").build());
4949
log.info(result.toString());
5050
}
@@ -53,7 +53,7 @@ void sendTextMessageTest() {
5353
void sendTextMessageATAllTest() {
5454
String webhook = System.getenv("webhook");
5555
send.setWebhook(webhook);
56-
RobotResult result = send.send(TextMessage.TextMessageBuilder.builder().setContent("Hi,我是机器人测试\n" +
56+
RobotResult result = send.sendMessage(TextMessage.TextMessageBuilder.builder().setContent("Hi,我是机器人测试\n" +
5757
"由XX于06月17日添加到群").mobileAtAll().build());
5858
log.info(result.toString());
5959
}
@@ -62,7 +62,7 @@ void sendTextMessageATAllTest() {
6262
void sendMarkdownMessageTest() {
6363
String webhook = System.getenv("webhook");
6464
send.setWebhook(webhook);
65-
RobotResult result = send.send(
65+
RobotResult result = send.sendMessage(
6666
MarkdownMessage.MarkdownMessageBuilder
6767
.builder()
6868
.content("实时新增用户反馈<font color=\"warning\">132例</font>,请相关同事注意。\n"
@@ -78,7 +78,7 @@ void sendMarkdownMessageTest() {
7878
void sendMarkdownMessageAtAllTest() {
7979
String webhook = System.getenv("webhook");
8080
send.setWebhook(webhook);
81-
RobotResult result = send.send(
81+
RobotResult result = send.sendMessage(
8282
MarkdownMessage.MarkdownMessageBuilder
8383
.builder()
8484
.content("实时新增用户反馈<font color=\"warning\">132例</font>,请相关同事注意。\n"
@@ -95,7 +95,7 @@ void sendMarkdownMessageAtAllTest() {
9595
void imageMessageTest() {
9696
String webhook = System.getenv("webhook");
9797
send.setWebhook(webhook);
98-
RobotResult result = send.send(
98+
RobotResult result = send.sendMessage(
9999
ImageMessage.ImageMessageBuilder.builder()
100100
.md5("")
101101
.base64("")
@@ -108,7 +108,7 @@ void imageMessageTest() {
108108
void newsMessageTest() {
109109
String webhook = System.getenv("webhook");
110110
send.setWebhook(webhook);
111-
RobotResult result = send.send(
111+
RobotResult result = send.sendMessage(
112112
NewsMessage.NewsMessageBuilder.builder()
113113
.addArticle(
114114
Article
@@ -127,7 +127,7 @@ void newsMessageTest() {
127127
void textNoticeCardMessageTest() {
128128
String webhook = System.getenv("webhook");
129129
send.setWebhook(webhook);
130-
RobotResult result = send.send(
130+
RobotResult result = send.sendMessage(
131131
TemplateCardMessage.TemplateCardMessageBuilder.builder()
132132
.templateCard(
133133
TextNoticeCard.TextNoticeCardBuilder.builder()
@@ -212,7 +212,7 @@ void textNoticeCardMessageTest() {
212212
void NewsNoticeCardMessageTest() {
213213
String webhook = System.getenv("webhook");
214214
send.setWebhook(webhook);
215-
RobotResult result = send.send(
215+
RobotResult result = send.sendMessage(
216216
TemplateCardMessage.TemplateCardMessageBuilder.builder()
217217
.templateCard(
218218
NewsNoticeCard.NewsNoticeCardBuilder.builder()

0 commit comments

Comments
 (0)