问题已修正!
This commit is contained in:
parent
7abeffb61a
commit
6671cb69c9
@ -8,9 +8,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.oracle</groupId>
|
<groupId>com.oracle</groupId>
|
||||||
<artifactId>ojdbc8</artifactId>
|
<artifactId>ojdbc8</artifactId>
|
||||||
<version>1.0</version>
|
<version>19.3.0.0.0</version>
|
||||||
<scope>system</scope>
|
|
||||||
<systemPath>${project.basedir}/lib/ojdbc8.jar</systemPath>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.httpcomponents</groupId>
|
<groupId>org.apache.httpcomponents</groupId>
|
||||||
@ -23,37 +21,6 @@
|
|||||||
<version>4.13.2</version>
|
<version>4.13.2</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- <dependency>
|
|
||||||
<groupId>commons-beanutils</groupId>
|
|
||||||
<artifactId>commons-beanutils</artifactId>
|
|
||||||
<version>1.9.4</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>commons-collections</groupId>
|
|
||||||
<artifactId>commons-collections</artifactId>
|
|
||||||
<version>20040616</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>commons-lang</groupId>
|
|
||||||
<artifactId>commons-lang</artifactId>
|
|
||||||
<version>2.6</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>commons-logging</groupId>
|
|
||||||
<artifactId>commons-logging</artifactId>
|
|
||||||
<version>1.1.1</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>net.sf.ezmorph</groupId>
|
|
||||||
<artifactId>ezmorph</artifactId>
|
|
||||||
<version>1.0.6</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>net.sf.json-lib</groupId>
|
|
||||||
<artifactId>json-lib</artifactId>
|
|
||||||
<version>2.4</version>
|
|
||||||
<classifier>jdk15</classifier>
|
|
||||||
</dependency> -->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-core</artifactId>
|
<artifactId>jackson-core</artifactId>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: Kane
|
* @Author: Kane
|
||||||
* @Date: 2022-04-22 10:53:49
|
* @Date: 2022-04-22 10:53:49
|
||||||
* @LastEditors: Kane
|
* @LastEditors: Kane
|
||||||
* @LastEditTime: 2022-05-10 16:28:07
|
* @LastEditTime: 2022-05-10 19:03:56
|
||||||
* @FilePath: \DisasterWarning\src\main\java\AppMain.java
|
* @FilePath: \DisasterWarning\src\main\java\AppMain.java
|
||||||
* @Description: 和风天气预警推送厦门太保公众号主程序!
|
* @Description: 和风天气预警推送厦门太保公众号主程序!
|
||||||
*
|
*
|
||||||
@ -11,6 +11,7 @@
|
|||||||
import com.cpic.xim.config.AppConfigManager;
|
import com.cpic.xim.config.AppConfigManager;
|
||||||
import com.cpic.xim.config.City;
|
import com.cpic.xim.config.City;
|
||||||
import com.cpic.xim.notify.disaster.QWeatherDisasterWarning;
|
import com.cpic.xim.notify.disaster.QWeatherDisasterWarning;
|
||||||
|
import com.cpic.xim.notify.disaster.QWeatherDisasterWarningItem;
|
||||||
import com.cpic.xim.notify.disaster.WeatherDisasterWarningGrabber;
|
import com.cpic.xim.notify.disaster.WeatherDisasterWarningGrabber;
|
||||||
import com.cpic.xim.wechat.officalAccount.sendMessage;
|
import com.cpic.xim.wechat.officalAccount.sendMessage;
|
||||||
import com.cpic.xim.config.WeatherDisasterNotifyConfig;
|
import com.cpic.xim.config.WeatherDisasterNotifyConfig;
|
||||||
@ -79,23 +80,40 @@ public class AppMain
|
|||||||
logger.log( Level.INFO, "查询{0}天气预警,结果:{1}。", new Object[]
|
logger.log( Level.INFO, "查询{0}天气预警,结果:{1}。", new Object[]
|
||||||
{ city.getCityName(), json} );
|
{ city.getCityName(), json} );
|
||||||
|
|
||||||
// 判断是否有警报
|
Vector<QWeatherDisasterWarningItem> warningItems = warning.getWarning();
|
||||||
if ( warning.getWarning().isEmpty() == true)
|
|
||||||
|
// 判断是否有警报,没有警报就结束当前城市的处理
|
||||||
|
if ( warningItems.isEmpty() == true)
|
||||||
{
|
{
|
||||||
logger.log( Level.INFO, "查询{0}天气预警,无警报!。", new Object[]
|
logger.log( Level.INFO, "查询{0}天气预警,无警报!。", new Object[]
|
||||||
{ city.getCityName()} );
|
{ city.getCityName()} );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 有警报,就遍历警报数组
|
||||||
|
for ( QWeatherDisasterWarningItem item : warningItems )
|
||||||
|
{
|
||||||
|
// 先检查是否已经发送过
|
||||||
|
if ( sendMessage.checkWarningHasSended( item.getId() ) == false)
|
||||||
|
{
|
||||||
|
logger.log( Level.INFO, "查询{0}天气预警,ID:{1},已有发送记录,跳过。", new Object[]
|
||||||
|
{ city.getCityName(), item.getId()} );
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 没有发送过
|
||||||
logger.log( Level.INFO, "查询{0}天气预警,发送日志。", new Object[]
|
logger.log( Level.INFO, "查询{0}天气预警,发送日志。", new Object[]
|
||||||
{ city.getCityName()} );
|
{ city.getCityName()} );
|
||||||
|
|
||||||
sendMessage.sendWeatherDisasterWarning( config.getWechatOfficalAccountURL(),
|
sendMessage.sendWeatherDisasterWarning( config.getWechatOfficalAccountURL(),
|
||||||
warning );
|
item );
|
||||||
|
|
||||||
logger.log( Level.INFO, "{0}天气预警,日志发送成功。", new Object[]
|
logger.log( Level.INFO, "{0}天气预警,日志发送成功。", new Object[]
|
||||||
{ city.getCityName()} );
|
{ city.getCityName()} );
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将发送的警报,保存起来
|
||||||
sendMessage.saveWeatherDisasterWarning( city.getCityName(), warning );
|
sendMessage.saveWeatherDisasterWarning( city.getCityName(), warning );
|
||||||
}
|
}
|
||||||
catch ( IOException error )
|
catch ( IOException error )
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: Kane
|
* @Author: Kane
|
||||||
* @Date: 2022-04-22 10:53:49
|
* @Date: 2022-04-22 10:53:49
|
||||||
* @LastEditors: Kane
|
* @LastEditors: Kane
|
||||||
* @LastEditTime: 2022-05-06 11:14:32
|
* @LastEditTime: 2022-05-10 19:02:32
|
||||||
* @FilePath: \DisasterWarning\src\main\java\com\cpic\xim\wechat\officalAccount\sendMessage.java
|
* @FilePath: \DisasterWarning\src\main\java\com\cpic\xim\wechat\officalAccount\sendMessage.java
|
||||||
* @Description: 用来推送公众号消息的程序库。
|
* @Description: 用来推送公众号消息的程序库。
|
||||||
*
|
*
|
||||||
@ -17,7 +17,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.DriverManager;
|
import java.sql.DriverManager;
|
||||||
@ -40,12 +39,12 @@ public class sendMessage
|
|||||||
* 推送天气灾害预警!接口文档参考 彭奕洁 编写《消息发送接口调用文档》
|
* 推送天气灾害预警!接口文档参考 彭奕洁 编写《消息发送接口调用文档》
|
||||||
* 使用 post 方式,请求体内容以最基础的 post 格式。
|
* 使用 post 方式,请求体内容以最基础的 post 格式。
|
||||||
* @param officalAccountURL 产险厦门分公司公众号接口网址
|
* @param officalAccountURL 产险厦门分公司公众号接口网址
|
||||||
* @param warning 灾害预警对象
|
* @param warningItem 灾害预警对象
|
||||||
*/
|
*/
|
||||||
public static void sendWeatherDisasterWarning( String officalAccountURL,
|
public static void sendWeatherDisasterWarning( String officalAccountURL,
|
||||||
QWeatherDisasterWarning warning )
|
QWeatherDisasterWarningItem warningItem )
|
||||||
{
|
{
|
||||||
Vector<QWeatherDisasterWarningItem> warningItems = warning.getWarning();
|
// Vector<QWeatherDisasterWarningItem> warningItems = warningItem.getWarning();
|
||||||
StringBuilder requestBody = null;
|
StringBuilder requestBody = null;
|
||||||
|
|
||||||
// 设置请求头参数
|
// 设置请求头参数
|
||||||
@ -56,13 +55,12 @@ public class sendMessage
|
|||||||
headers.put( "Content-Type", "application/x-www-form-urlencoded;charset=UTF-8" );
|
headers.put( "Content-Type", "application/x-www-form-urlencoded;charset=UTF-8" );
|
||||||
|
|
||||||
// 遍历消息,将消息推送出去。
|
// 遍历消息,将消息推送出去。
|
||||||
for ( QWeatherDisasterWarningItem item : warningItems )
|
|
||||||
{
|
|
||||||
// 拼接消息内容
|
// 拼接消息内容
|
||||||
String title = item.getTitle();
|
String title = warningItem.getTitle();
|
||||||
String text = item.getText();
|
String text = warningItem.getText();
|
||||||
String color = warningLevel.keySet().contains( item.getLevel() )
|
String color = warningLevel.keySet().contains( warningItem.getLevel() )
|
||||||
? warningLevel.get( item.getLevel() )
|
? warningLevel.get( warningItem.getLevel() )
|
||||||
: "#000000";
|
: "#000000";
|
||||||
requestBody = new StringBuilder();
|
requestBody = new StringBuilder();
|
||||||
|
|
||||||
@ -79,7 +77,7 @@ public class sendMessage
|
|||||||
{
|
{
|
||||||
error.printStackTrace();
|
error.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -197,6 +195,8 @@ public class sendMessage
|
|||||||
conn = DriverManager.getConnection( jdbcURL, userName, password );
|
conn = DriverManager.getConnection( jdbcURL, userName, password );
|
||||||
stmt = conn.prepareStatement( sql );
|
stmt = conn.prepareStatement( sql );
|
||||||
|
|
||||||
|
conn.setAutoCommit( false );
|
||||||
|
|
||||||
for ( QWeatherDisasterWarningItem warning : warnings.getWarning() )
|
for ( QWeatherDisasterWarningItem warning : warnings.getWarning() )
|
||||||
{
|
{
|
||||||
java.sql.Timestamp pubTime =
|
java.sql.Timestamp pubTime =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user