Skip to content

Commit e55d2ae

Browse files
authored
Merge pull request #39 from rememberber/develop
优化更新策略
2 parents 3cd7eb4 + e0a4a18 commit e55d2ae

File tree

14 files changed

+234
-41
lines changed

14 files changed

+234
-41
lines changed

pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<mysql-connector-java.version>6.0.6</mysql-connector-java.version>
2222
<forms_rt.version>7.0.3</forms_rt.version>
2323
<fastjson.version>1.2.46</fastjson.version>
24+
<sun-mail.version>1.5.6</sun-mail.version>
2425
</properties>
2526

2627
<dependencies>
@@ -72,6 +73,12 @@
7273
<version>${fastjson.version}</version>
7374
</dependency>
7475

76+
<dependency>
77+
<groupId>com.sun.mail</groupId>
78+
<artifactId>javax.mail</artifactId>
79+
<version>${sun-mail.version}</version>
80+
</dependency>
81+
7582
<dependency>
7683
<groupId>com.darcula</groupId>
7784
<artifactId>darcula-lnf</artifactId>

src/main/java/com/fangxuele/tool/wechat/push/logic/AliTemplateMsgServiceThread.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
import com.taobao.api.TaobaoClient;
77
import com.taobao.api.request.AlibabaAliqinFcSmsNumSendRequest;
88
import com.taobao.api.response.AlibabaAliqinFcSmsNumSendResponse;
9+
import org.apache.commons.lang3.StringUtils;
10+
11+
import javax.swing.*;
912

1013
/**
1114
* 阿里模板短信发送服务线程
@@ -30,7 +33,18 @@ public void run() {
3033
// 初始化当前线程
3134
initCurrentThread();
3235

33-
TaobaoClient client = new DefaultTaobaoClient(Init.configer.getAliServerUrl(), Init.configer.getAliAppKey(), Init.configer.getAliAppSecret());
36+
String aliServerUrl = Init.configer.getAliServerUrl();
37+
String aliAppKey = Init.configer.getAliAppKey();
38+
String aliAppSecret = Init.configer.getAliAppSecret();
39+
40+
if (StringUtils.isEmpty(aliServerUrl) || StringUtils.isEmpty(aliAppKey)
41+
|| StringUtils.isEmpty(aliAppSecret)) {
42+
JOptionPane.showMessageDialog(MainWindow.mainWindow.getSettingPanel(),
43+
"请先在设置中填写并保存阿里大于相关配置!", "提示",
44+
JOptionPane.INFORMATION_MESSAGE);
45+
}
46+
47+
TaobaoClient client = new DefaultTaobaoClient(aliServerUrl, aliAppKey, aliAppSecret);
3448

3549
// 组织模板消息
3650
AlibabaAliqinFcSmsNumSendRequest alibabaAliqinFcSmsNumSendRequest;

src/main/java/com/fangxuele/tool/wechat/push/logic/PushManage.java

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
2020
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
2121
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
22+
import org.apache.commons.lang3.StringUtils;
2223

24+
import javax.swing.*;
2325
import javax.swing.table.DefaultTableModel;
2426
import java.io.File;
2527
import java.io.FileWriter;
@@ -47,16 +49,18 @@ public class PushManage {
4749
public static void preview() throws Exception {
4850
List<String[]> msgDataList = new ArrayList<>();
4951

50-
WxMpTemplateMessage wxMessageTemplate;
51-
WxMpKefuMessage wxMpKefuMessage;
52-
53-
WxMpService wxMpService = getWxMpService();
54-
5552
for (String data : MainWindow.mainWindow.getPreviewUserField().getText().split(";")) {
5653
msgDataList.add(data.split(","));
5754
}
55+
5856
switch (MainWindow.mainWindow.getMsgTypeComboBox().getSelectedItem().toString()) {
5957
case "模板消息":
58+
WxMpTemplateMessage wxMessageTemplate;
59+
WxMpService wxMpService = getWxMpService();
60+
if (wxMpService.getWxMpConfigStorage() == null) {
61+
return;
62+
}
63+
6064
for (String[] msgData : msgDataList) {
6165
wxMessageTemplate = makeTemplateMessage(msgData);
6266
wxMessageTemplate.setToUser(msgData[0].trim());
@@ -65,6 +69,12 @@ public static void preview() throws Exception {
6569
}
6670
break;
6771
case "客服消息":
72+
wxMpService = getWxMpService();
73+
WxMpKefuMessage wxMpKefuMessage;
74+
if (wxMpService.getWxMpConfigStorage() == null) {
75+
return;
76+
}
77+
6878
for (String[] msgData : msgDataList) {
6979
wxMpKefuMessage = makeKefuMessage(msgData);
7080
wxMpKefuMessage.setToUser(msgData[0]);
@@ -73,6 +83,11 @@ public static void preview() throws Exception {
7383
}
7484
break;
7585
case "客服消息优先":
86+
wxMpService = getWxMpService();
87+
if (wxMpService.getWxMpConfigStorage() == null) {
88+
return;
89+
}
90+
7691
for (String[] msgData : msgDataList) {
7792
try {
7893
wxMpKefuMessage = makeKefuMessage(msgData);
@@ -88,7 +103,18 @@ public static void preview() throws Exception {
88103
}
89104
break;
90105
case "阿里大于模板短信":
91-
TaobaoClient client = new DefaultTaobaoClient(Init.configer.getAliServerUrl(), Init.configer.getAliAppKey(), Init.configer.getAliAppSecret());
106+
String aliServerUrl = Init.configer.getAliServerUrl();
107+
String aliAppKey = Init.configer.getAliAppKey();
108+
String aliAppSecret = Init.configer.getAliAppSecret();
109+
110+
if (StringUtils.isEmpty(aliServerUrl) || StringUtils.isEmpty(aliAppKey)
111+
|| StringUtils.isEmpty(aliAppSecret)) {
112+
JOptionPane.showMessageDialog(MainWindow.mainWindow.getSettingPanel(),
113+
"请先在设置中填写并保存阿里大于相关配置!", "提示",
114+
JOptionPane.INFORMATION_MESSAGE);
115+
}
116+
117+
TaobaoClient client = new DefaultTaobaoClient(aliServerUrl, aliAppKey, aliAppSecret);
92118
for (String[] msgData : msgDataList) {
93119
AlibabaAliqinFcSmsNumSendRequest request = makeAliTemplateMessage(msgData);
94120
request.setRecNum(msgData[0]);
@@ -295,6 +321,12 @@ synchronized public static AlibabaAliqinFcSmsNumSendRequest makeAliTemplateMessa
295321
*/
296322
private static WxMpConfigStorage wxMpConfigStorage() {
297323
WxMpInMemoryConfigStorage configStorage = new WxMpInMemoryConfigStorage();
324+
if (StringUtils.isEmpty(Init.configer.getWechatAppId()) || StringUtils.isEmpty(Init.configer.getWechatAppSecret())
325+
|| StringUtils.isEmpty(Init.configer.getWechatToken()) || StringUtils.isEmpty(Init.configer.getWechatAesKey())) {
326+
JOptionPane.showMessageDialog(MainWindow.mainWindow.getSettingPanel(), "请先在设置中填写并保存公众号相关配置!", "提示",
327+
JOptionPane.INFORMATION_MESSAGE);
328+
return null;
329+
}
298330
configStorage.setAppId(Init.configer.getWechatAppId());
299331
configStorage.setSecret(Init.configer.getWechatAppSecret());
300332
configStorage.setToken(Init.configer.getWechatToken());

src/main/java/com/fangxuele/tool/wechat/push/logic/RunPushThread.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.xiaoleilu.hutool.date.DateUtil;
77
import com.xiaoleilu.hutool.log.Log;
88
import com.xiaoleilu.hutool.log.LogFactory;
9+
import me.chanjar.weixin.mp.api.WxMpService;
910

1011
import javax.swing.JOptionPane;
1112
import javax.swing.JProgressBar;
@@ -98,17 +99,35 @@ public void run() {
9899
if ("模板消息".equals(msgType)) {
99100
thread = new TemplateMsgServiceThread(i * pagePerThread,
100101
i * pagePerThread + pagePerThread - 1, pageSize);
102+
103+
WxMpService wxMpService = PushManage.getWxMpService();
104+
if (wxMpService.getWxMpConfigStorage() == null) {
105+
return;
106+
}
107+
thread.setWxMpService(wxMpService);
101108
} else if ("客服消息".equals(msgType)) {
102109
thread = new KeFuMsgServiceThread(i * pagePerThread,
103110
i * pagePerThread + pagePerThread - 1, pageSize);
111+
112+
WxMpService wxMpService = PushManage.getWxMpService();
113+
if (wxMpService.getWxMpConfigStorage() == null) {
114+
return;
115+
}
116+
thread.setWxMpService(wxMpService);
104117
} else if ("客服消息优先".equals(msgType)) {
105118
thread = new KeFuPriorMsgServiceThread(i * pagePerThread,
106119
i * pagePerThread + pagePerThread - 1, pageSize);
120+
121+
WxMpService wxMpService = PushManage.getWxMpService();
122+
if (wxMpService.getWxMpConfigStorage() == null) {
123+
return;
124+
}
125+
thread.setWxMpService(wxMpService);
107126
} else if ("阿里大于模板短信".equals(msgType)) {
108127
thread = new AliTemplateMsgServiceThread(i * pagePerThread,
109128
i * pagePerThread + pagePerThread - 1, pageSize);
110129
}
111-
thread.setWxMpService(PushManage.getWxMpService());
130+
112131
thread.setName(new StringBuffer().append("T-").append(i).toString());
113132

114133
data = new Object[6];

src/main/java/com/fangxuele/tool/wechat/push/ui/ConstantsUI.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class ConstantsUI {
1414
* 软件名称,版本
1515
*/
1616
public final static String APP_NAME = "WePush";
17-
public final static String APP_VERSION = "v_1.6.0_180212";
17+
public final static String APP_VERSION = "v_1.6.0_180222";
1818

1919
/**
2020
* 主窗口图标
@@ -25,6 +25,6 @@ public class ConstantsUI {
2525
/**
2626
* 软件版本检查url
2727
*/
28-
public final static String CHECK_VERSION_URL = "https://raw.githubusercontent.com/rememberber/WePush/develop/src/main/resources/version_summary.json";
28+
public final static String CHECK_VERSION_URL = "https://raw.githubusercontent.com/rememberber/WePush/master/src/main/resources/version_summary.json";
2929

3030
}

src/main/java/com/fangxuele/tool/wechat/push/ui/Init.java

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,12 @@ public static void switchMsgType(String msgType) {
243243
MainWindow.mainWindow.getTemplateMsgPanel().setVisible(true);
244244
MainWindow.mainWindow.getTemplateUrlLabel().setVisible(true);
245245
MainWindow.mainWindow.getMsgTemplateUrlTextField().setVisible(true);
246+
MainWindow.mainWindow.getTemplateMiniProgramAppidLabel().setVisible(true);
247+
MainWindow.mainWindow.getMsgTemplateMiniAppidTextField().setVisible(true);
248+
MainWindow.mainWindow.getTemplateMiniProgramPagePathLabel().setVisible(true);
249+
MainWindow.mainWindow.getMsgTemplateMiniPagePathTextField().setVisible(true);
250+
MainWindow.mainWindow.getTemplateMiniProgramOptionalLabel1().setVisible(true);
251+
MainWindow.mainWindow.getTemplateMiniProgramOptionalLabel2().setVisible(true);
246252
MainWindow.mainWindow.getTemplateMsgColorLabel().setVisible(true);
247253
MainWindow.mainWindow.getTemplateDataColorTextField().setVisible(true);
248254
MainWindow.mainWindow.getPreviewMemberLabel().setText("预览消息用户openid(以半角分号分隔)");
@@ -257,6 +263,12 @@ public static void switchMsgType(String msgType) {
257263
MainWindow.mainWindow.getTemplateMsgPanel().setVisible(true);
258264
MainWindow.mainWindow.getTemplateUrlLabel().setVisible(true);
259265
MainWindow.mainWindow.getMsgTemplateUrlTextField().setVisible(true);
266+
MainWindow.mainWindow.getTemplateMiniProgramAppidLabel().setVisible(true);
267+
MainWindow.mainWindow.getMsgTemplateMiniAppidTextField().setVisible(true);
268+
MainWindow.mainWindow.getTemplateMiniProgramPagePathLabel().setVisible(true);
269+
MainWindow.mainWindow.getMsgTemplateMiniPagePathTextField().setVisible(true);
270+
MainWindow.mainWindow.getTemplateMiniProgramOptionalLabel1().setVisible(true);
271+
MainWindow.mainWindow.getTemplateMiniProgramOptionalLabel2().setVisible(true);
260272
MainWindow.mainWindow.getTemplateMsgColorLabel().setVisible(true);
261273
MainWindow.mainWindow.getTemplateDataColorTextField().setVisible(true);
262274
MainWindow.mainWindow.getPreviewMemberLabel().setText("预览消息用户openid(以半角分号分隔)");
@@ -266,6 +278,12 @@ public static void switchMsgType(String msgType) {
266278
MainWindow.mainWindow.getTemplateMsgPanel().setVisible(true);
267279
MainWindow.mainWindow.getTemplateUrlLabel().setVisible(false);
268280
MainWindow.mainWindow.getMsgTemplateUrlTextField().setVisible(false);
281+
MainWindow.mainWindow.getTemplateMiniProgramAppidLabel().setVisible(false);
282+
MainWindow.mainWindow.getMsgTemplateMiniAppidTextField().setVisible(false);
283+
MainWindow.mainWindow.getTemplateMiniProgramPagePathLabel().setVisible(false);
284+
MainWindow.mainWindow.getMsgTemplateMiniPagePathTextField().setVisible(false);
285+
MainWindow.mainWindow.getTemplateMiniProgramOptionalLabel1().setVisible(false);
286+
MainWindow.mainWindow.getTemplateMiniProgramOptionalLabel2().setVisible(false);
269287
MainWindow.mainWindow.getTemplateMsgColorLabel().setVisible(false);
270288
MainWindow.mainWindow.getTemplateDataColorTextField().setVisible(false);
271289
MainWindow.mainWindow.getPreviewMemberLabel().setText("预览消息用户手机号(以半角分号分隔)");
@@ -361,7 +379,9 @@ public static void initScheduleTab() {
361379
* 初始化设置tab
362380
*/
363381
public static void initSettingTab() {
364-
// 微信
382+
// 常规
383+
MainWindow.mainWindow.setAutoCheckUpdateCheckBox(configer.isAutoCheckUpdate());
384+
// 微信公众号
365385
MainWindow.mainWindow.setWechatAppIdTextField(configer.getWechatAppId());
366386
MainWindow.mainWindow.setWechatAppSecretPasswordField(configer.getWechatAppSecret());
367387
MainWindow.mainWindow.setWechatTokenPasswordField(configer.getWechatToken());
@@ -464,13 +484,14 @@ public static void initAllTab() {
464484
initSettingTab();
465485

466486
// 检查新版版
467-
new Thread(new Runnable() {
468-
@Override
469-
public void run() {
470-
AboutListener.checkUpdate(true);
471-
}
472-
}).start();
473-
487+
if (configer.isAutoCheckUpdate()) {
488+
new Thread(new Runnable() {
489+
@Override
490+
public void run() {
491+
AboutListener.checkUpdate(true);
492+
}
493+
}).start();
494+
}
474495
}
475496

476497
/**

0 commit comments

Comments
 (0)