Skip to content

Commit 6f2aa83

Browse files
committed
optimize:恢复空跑功能
1 parent a8f645d commit 6f2aa83

File tree

10 files changed

+96
-53
lines changed

10 files changed

+96
-53
lines changed

src/main/java/com/fangxuele/tool/push/logic/PushControl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@
4242
* @since 2017/6/19.
4343
*/
4444
public class PushControl {
45+
46+
/**
47+
* 是否空跑
48+
*/
49+
public static boolean dryRun;
50+
4551
private static TPushHistoryMapper pushHistoryMapper = MybatisUtil.getSqlSession().getMapper(TPushHistoryMapper.class);
4652

4753
/**
@@ -66,6 +72,7 @@ public static List<SendResult> preview() {
6672
prepareMsgMaker();
6773
IMsgSender msgSender = MsgSenderFactory.getMsgSender();
6874

75+
dryRun = false;
6976
if (msgSender != null) {
7077
for (String[] msgData : msgDataList) {
7178
sendResultList.add(msgSender.send(msgData));

src/main/java/com/fangxuele/tool/push/logic/PushRunThread.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ private void preparePushRun() {
6363
PushForm.pushForm.getPushSuccessCount().setText("0");
6464
PushForm.pushForm.getPushFailCount().setText("0");
6565

66+
// 设置是否空跑
67+
PushControl.dryRun = PushForm.pushForm.getDryRunCheckBox().isSelected();
68+
6669
// 重置推送数据
6770
PushData.reset();
6871

src/main/java/com/fangxuele/tool/push/logic/msgsender/AliDayuTemplateMsgSender.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,17 @@ public SendResult send(String[] msgData) {
3535

3636
try {
3737
AlibabaAliqinFcSmsNumSendRequest alibabaAliqinFcSmsNumSendRequest = aliTemplateMsgMaker.makeMsg(msgData);
38-
AlibabaAliqinFcSmsNumSendResponse response = taobaoClient.execute(alibabaAliqinFcSmsNumSendRequest);
39-
if (response.getResult() != null && response.getResult().getSuccess()) {
38+
if (PushControl.dryRun) {
4039
result.setSuccess(true);
40+
return result;
4141
} else {
42-
result.setSuccess(false);
43-
result.setInfo(response.getBody() + ";ErrorCode:" + response.getErrorCode());
42+
AlibabaAliqinFcSmsNumSendResponse response = taobaoClient.execute(alibabaAliqinFcSmsNumSendRequest);
43+
if (response.getResult() != null && response.getResult().getSuccess()) {
44+
result.setSuccess(true);
45+
} else {
46+
result.setSuccess(false);
47+
result.setInfo(response.getBody() + ";ErrorCode:" + response.getErrorCode());
48+
}
4449
}
4550
} catch (Exception e) {
4651
result.setSuccess(false);

src/main/java/com/fangxuele/tool/push/logic/msgsender/AliYunMsgSender.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,17 @@ public SendResult send(String[] msgData) {
3838
try {
3939
//初始化acsClient,暂不支持region化
4040
SendSmsRequest sendSmsRequest = aliyunMsgMaker.makeMsg(msgData);
41-
SendSmsResponse response = iAcsClient.getAcsResponse(sendSmsRequest);
42-
if (response.getCode() != null && "OK".equals(response.getCode())) {
41+
if (PushControl.dryRun) {
4342
sendResult.setSuccess(true);
43+
return sendResult;
4444
} else {
45-
sendResult.setSuccess(false);
46-
sendResult.setInfo(response.getMessage() + ";ErrorCode:" + response.getCode());
45+
SendSmsResponse response = iAcsClient.getAcsResponse(sendSmsRequest);
46+
if (response.getCode() != null && "OK".equals(response.getCode())) {
47+
sendResult.setSuccess(true);
48+
} else {
49+
sendResult.setSuccess(false);
50+
sendResult.setInfo(response.getMessage() + ";ErrorCode:" + response.getCode());
51+
}
4752
}
4853
} catch (Exception e) {
4954
sendResult.setSuccess(false);

src/main/java/com/fangxuele/tool/push/logic/msgsender/TxYunMsgSender.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,19 @@ public SendResult send(String[] msgData) {
3535
String smsSign = App.config.getAliyunSign();
3636
String[] params = txYunMsgMaker.makeMsg(msgData);
3737
String telNum = msgData[0];
38-
SmsSingleSenderResult result = smsSingleSender.sendWithParam("86", telNum,
39-
templateId, params, smsSign, "", "");
40-
41-
if (result.result == 0) {
38+
if (PushControl.dryRun) {
4239
sendResult.setSuccess(true);
40+
return sendResult;
4341
} else {
44-
sendResult.setSuccess(false);
45-
sendResult.setInfo(result.toString());
42+
SmsSingleSenderResult result = smsSingleSender.sendWithParam("86", telNum,
43+
templateId, params, smsSign, "", "");
44+
45+
if (result.result == 0) {
46+
sendResult.setSuccess(true);
47+
} else {
48+
sendResult.setSuccess(false);
49+
sendResult.setInfo(result.toString());
50+
}
4651
}
4752
} catch (Exception e) {
4853
sendResult.setSuccess(false);

src/main/java/com/fangxuele/tool/push/logic/msgsender/WxKefuMsgSender.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.fangxuele.tool.push.logic.msgsender;
22

3+
import com.fangxuele.tool.push.logic.PushControl;
34
import com.fangxuele.tool.push.logic.msgmaker.WxKefuMsgMaker;
45
import me.chanjar.weixin.mp.api.WxMpService;
56
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
@@ -25,11 +26,16 @@ public WxKefuMsgSender() {
2526
public SendResult send(String[] msgData) {
2627
SendResult sendResult = new SendResult();
2728

28-
String openId = msgData[0];
29-
WxMpKefuMessage wxMpKefuMessage = wxKefuMsgMaker.makeMsg(msgData);
30-
wxMpKefuMessage.setToUser(openId);
3129
try {
32-
wxMpService.getKefuService().sendKefuMessage(wxMpKefuMessage);
30+
String openId = msgData[0];
31+
WxMpKefuMessage wxMpKefuMessage = wxKefuMsgMaker.makeMsg(msgData);
32+
wxMpKefuMessage.setToUser(openId);
33+
if (PushControl.dryRun) {
34+
sendResult.setSuccess(true);
35+
return sendResult;
36+
} else {
37+
wxMpService.getKefuService().sendKefuMessage(wxMpKefuMessage);
38+
}
3339
} catch (Exception e) {
3440
sendResult.setSuccess(false);
3541
sendResult.setInfo(e.toString());

src/main/java/com/fangxuele/tool/push/logic/msgsender/WxMaTemplateMsgSender.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,12 @@ public SendResult send(String[] msgData) {
3838
WxMaTemplateMessage wxMaTemplateMessage = wxMaTemplateMsgMaker.makeMsg(msgData);
3939
wxMaTemplateMessage.setToUser(openId);
4040
wxMaTemplateMessage.setFormId(msgData[1]);
41-
wxMaService.getMsgService().sendTemplateMsg(wxMaTemplateMessage);
41+
if (PushControl.dryRun) {
42+
sendResult.setSuccess(true);
43+
return sendResult;
44+
} else {
45+
wxMaService.getMsgService().sendTemplateMsg(wxMaTemplateMessage);
46+
}
4247
} catch (Exception e) {
4348
sendResult.setSuccess(false);
4449
sendResult.setInfo(e.toString());

src/main/java/com/fangxuele/tool/push/logic/msgsender/WxMpTemplateMsgSender.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ public SendResult send(String[] msgData) {
3535
String openId = msgData[0];
3636
WxMpTemplateMessage wxMessageTemplate = wxMpTemplateMsgMaker.makeMsg(msgData);
3737
wxMessageTemplate.setToUser(openId);
38-
wxMpService.getTemplateMsgService().sendTemplateMsg(wxMessageTemplate);
38+
if (PushControl.dryRun) {
39+
sendResult.setSuccess(true);
40+
return sendResult;
41+
} else {
42+
wxMpService.getTemplateMsgService().sendTemplateMsg(wxMessageTemplate);
43+
}
3944
} catch (Exception e) {
4045
sendResult.setSuccess(false);
4146
sendResult.setInfo(e.toString());

src/main/java/com/fangxuele/tool/push/logic/msgsender/YunPianMsgSender.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,17 @@ public SendResult send(String[] msgData) {
3838
Map<String, String> params = yunPianMsgMaker.makeMsg(msgData);
3939
String telNum = msgData[0];
4040
params.put(YunpianClient.MOBILE, telNum);
41-
Result<SmsSingleSend> result = yunpianClient.sms().single_send(params);
42-
if (result.getCode() == 0) {
41+
if (PushControl.dryRun) {
4342
sendResult.setSuccess(true);
43+
return sendResult;
4444
} else {
45-
sendResult.setSuccess(false);
46-
sendResult.setInfo(result.toString());
45+
Result<SmsSingleSend> result = yunpianClient.sms().single_send(params);
46+
if (result.getCode() == 0) {
47+
sendResult.setSuccess(true);
48+
} else {
49+
sendResult.setSuccess(false);
50+
sendResult.setInfo(result.toString());
51+
}
4752
}
4853
} catch (Exception e) {
4954
sendResult.setSuccess(false);

src/main/java/com/fangxuele/tool/push/logic/msgthread/MsgSendThread.java

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -45,35 +45,32 @@ public void run() {
4545

4646
// 本条消息所需的数据
4747
String[] msgData = list.get(i);
48-
// 空跑控制
49-
if (!PushForm.pushForm.getDryRunCheckBox().isSelected()) {
50-
SendResult sendResult = iMsgSender.send(msgData);
51-
if (sendResult.isSuccess()) {
52-
// 总发送成功+1
53-
PushData.increaseSuccess();
54-
PushForm.pushForm.getPushSuccessCount().setText(String.valueOf(PushData.successRecords));
55-
56-
// 当前线程发送成功+1
57-
currentThreadSuccessCount++;
58-
pushThreadTable.setValueAt(currentThreadSuccessCount, tableRow, 2);
59-
60-
// 保存发送成功
61-
PushData.sendSuccessList.add(msgData);
62-
} else {
63-
// 总发送失败+1
64-
PushData.increaseFail();
65-
PushForm.pushForm.getPushFailCount().setText(String.valueOf(PushData.failRecords));
66-
67-
// 保存发送失败
68-
PushData.sendFailList.add(msgData);
69-
70-
// 失败异常信息输出控制台
71-
ConsoleUtil.consoleWithLog("发送失败:" + sendResult.getInfo() + ";msgData:" + JSONUtil.toJsonPrettyStr(msgData));
72-
73-
// 当前线程发送失败+1
74-
currentThreadFailCount++;
75-
pushThreadTable.setValueAt(currentThreadFailCount, tableRow, 3);
76-
}
48+
SendResult sendResult = iMsgSender.send(msgData);
49+
if (sendResult.isSuccess()) {
50+
// 总发送成功+1
51+
PushData.increaseSuccess();
52+
PushForm.pushForm.getPushSuccessCount().setText(String.valueOf(PushData.successRecords));
53+
54+
// 当前线程发送成功+1
55+
currentThreadSuccessCount++;
56+
pushThreadTable.setValueAt(currentThreadSuccessCount, tableRow, 2);
57+
58+
// 保存发送成功
59+
PushData.sendSuccessList.add(msgData);
60+
} else {
61+
// 总发送失败+1
62+
PushData.increaseFail();
63+
PushForm.pushForm.getPushFailCount().setText(String.valueOf(PushData.failRecords));
64+
65+
// 保存发送失败
66+
PushData.sendFailList.add(msgData);
67+
68+
// 失败异常信息输出控制台
69+
ConsoleUtil.consoleWithLog("发送失败:" + sendResult.getInfo() + ";msgData:" + JSONUtil.toJsonPrettyStr(msgData));
70+
71+
// 当前线程发送失败+1
72+
currentThreadFailCount++;
73+
pushThreadTable.setValueAt(currentThreadFailCount, tableRow, 3);
7774
}
7875

7976
// 当前线程进度条

0 commit comments

Comments
 (0)