Commit 618b8f3b by win7

配置更改为服务器配置

parent 3594cf63
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
<packaging>jar</packaging> <packaging>jar</packaging>
<name>messageflow</name> <name>messageflow</name>
<description>Demo project for Spring Boot</description>
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
...@@ -42,7 +41,6 @@ ...@@ -42,7 +41,6 @@
<dependency> <dependency>
<groupId>org.elasticsearch.client</groupId> <groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId> <artifactId>transport</artifactId>
<version>5.2.2</version><!--$NO-MVN-MAN-VER$ -->
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.zhiwei</groupId> <groupId>com.zhiwei</groupId>
...@@ -53,12 +51,10 @@ ...@@ -53,12 +51,10 @@
<dependency> <dependency>
<groupId>org.apache.logging.log4j</groupId> <groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId> <artifactId>log4j-api</artifactId>
<version>2.7</version><!--$NO-MVN-MAN-VER$ -->
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.logging.log4j</groupId> <groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId> <artifactId>log4j-core</artifactId>
<version>2.7</version><!--$NO-MVN-MAN-VER$ -->
</dependency> </dependency>
<!-- jackson --> <!-- jackson -->
...@@ -85,6 +81,7 @@ ...@@ -85,6 +81,7 @@
<artifactId>spring-boot-configuration-processor</artifactId> <artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<!-- Jedis --> <!-- Jedis -->
<dependency> <dependency>
<groupId>redis.clients</groupId> <groupId>redis.clients</groupId>
...@@ -118,15 +115,10 @@ ...@@ -118,15 +115,10 @@
<version>1.4.7</version> <version>1.4.7</version>
</dependency> </dependency>
<!-- solr -->
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>messageflow</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
......
...@@ -36,7 +36,7 @@ public class ES4RedisRunner implements ApplicationRunner { ...@@ -36,7 +36,7 @@ public class ES4RedisRunner implements ApplicationRunner {
// 手动注入bean ES4RedisStart // 手动注入bean ES4RedisStart
ES4RedisStart start = ApplicationContextProvider.getBean("ES4RedisStart", ES4RedisStart.class); ES4RedisStart start = ApplicationContextProvider.getBean("ES4RedisStart", ES4RedisStart.class);
// 定时器 项目启动后100ms运行 每次间隔8min // 定时器
Timer timer = new Timer(); Timer timer = new Timer();
timer.schedule( timer.schedule(
...@@ -48,7 +48,7 @@ public class ES4RedisRunner implements ApplicationRunner { ...@@ -48,7 +48,7 @@ public class ES4RedisRunner implements ApplicationRunner {
e.printStackTrace(); e.printStackTrace();
} }
} }
}, 100L, 30 * 1000L); }, 100L, 50 * 1000L);
// /** // /**
// * ES库消息输出Excel并分析关键词重复数据 // * ES库消息输出Excel并分析关键词重复数据
......
...@@ -29,6 +29,9 @@ public class ES4RedisStart { ...@@ -29,6 +29,9 @@ public class ES4RedisStart {
@Autowired @Autowired
private ES4RedisTask es4RedisTask; private ES4RedisTask es4RedisTask;
/**
* 启动线程
*/
public void startThread() throws JsonParseException, JsonMappingException, IOException, InterruptedException { public void startThread() throws JsonParseException, JsonMappingException, IOException, InterruptedException {
// 项目列表 // 项目列表
......
...@@ -53,8 +53,7 @@ public class ES4RedisTask { ...@@ -53,8 +53,7 @@ public class ES4RedisTask {
@Autowired @Autowired
private RedisService redisService; private RedisService redisService;
@Autowired private ObjectMapper mapper = new ObjectMapper();
private ObjectMapper mapper;
private static final int allkeywordcount = 5000; private static final int allkeywordcount = 5000;
private static final int keywordscount = 2000; private static final int keywordscount = 2000;
...@@ -147,8 +146,8 @@ public class ES4RedisTask { ...@@ -147,8 +146,8 @@ public class ES4RedisTask {
if (platformName.equals("微博")) { if (platformName.equals("微博")) {
// 获取新的rsid和信息实体 // 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredWeiboMessage(trackRules, noiseRules, RsidAndMessages ram = disposeMessageService.getFilteredWeiboMessage(noiseRules, allkeywords, count,
allkeywords, count, allstartrsid, -1L, platformName, project.getProjectName()); allstartrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息 // 获取查询到的信息
List<WeiboMessage> messages = ram.getWlist(); List<WeiboMessage> messages = ram.getWlist();
...@@ -172,8 +171,8 @@ public class ES4RedisTask { ...@@ -172,8 +171,8 @@ public class ES4RedisTask {
} else if (platformName.equals("知乎")) { } else if (platformName.equals("知乎")) {
// 获取新的rsid和信息实体 // 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredZhihuMessage(trackRules, noiseRules, RsidAndMessages ram = disposeMessageService.getFilteredZhihuMessage(noiseRules, allkeywords, count,
allkeywords, count, allstartrsid, -1L, platformName, project.getProjectName()); allstartrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息 // 获取查询到的信息
List<ZhihuMessage> messages = ram.getZlist(); List<ZhihuMessage> messages = ram.getZlist();
...@@ -195,8 +194,8 @@ public class ES4RedisTask { ...@@ -195,8 +194,8 @@ public class ES4RedisTask {
} else if (platformName.equals("视频")) { } else if (platformName.equals("视频")) {
// 获取新的rsid和信息实体 // 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredVideoMessage(trackRules, noiseRules, RsidAndMessages ram = disposeMessageService.getFilteredVideoMessage(noiseRules, allkeywords, count,
allkeywords, count, allstartrsid, -1L, platformName, project.getProjectName()); allstartrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息 // 获取查询到的信息
List<VideoMessage> messages = ram.getVlist(); List<VideoMessage> messages = ram.getVlist();
...@@ -218,8 +217,8 @@ public class ES4RedisTask { ...@@ -218,8 +217,8 @@ public class ES4RedisTask {
} else { } else {
// 获取新的rsid和信息实体 // 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredMediaMessage(trackRules, noiseRules, RsidAndMessages ram = disposeMessageService.getFilteredMediaMessage(noiseRules, allkeywords, count,
allkeywords, count, allstartrsid, -1L, platformName, project.getProjectName()); allstartrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息 // 获取查询到的信息
List<MediaMessage> messages = ram.getMlist(); List<MediaMessage> messages = ram.getMlist();
...@@ -266,7 +265,7 @@ public class ES4RedisTask { ...@@ -266,7 +265,7 @@ public class ES4RedisTask {
if (platformName.equals("微博")) { if (platformName.equals("微博")) {
// 获取新的rsid和信息实体 // 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredWeiboMessage(trackRules, noiseRules, RsidAndMessages ram = disposeMessageService.getFilteredWeiboMessage(noiseRules,
kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName()); kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息 // 获取查询到的信息
...@@ -290,7 +289,7 @@ public class ES4RedisTask { ...@@ -290,7 +289,7 @@ public class ES4RedisTask {
} else if (platformName.equals("知乎")) { } else if (platformName.equals("知乎")) {
// 获取新的rsid和信息实体 // 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredZhihuMessage(trackRules, noiseRules, RsidAndMessages ram = disposeMessageService.getFilteredZhihuMessage(noiseRules,
kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName()); kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息 // 获取查询到的信息
...@@ -315,7 +314,7 @@ public class ES4RedisTask { ...@@ -315,7 +314,7 @@ public class ES4RedisTask {
} else if (platformName.equals("视频")) { } else if (platformName.equals("视频")) {
// 获取新的rsid和信息实体 // 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredVideoMessage(trackRules, noiseRules, RsidAndMessages ram = disposeMessageService.getFilteredVideoMessage(noiseRules,
kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName()); kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息 // 获取查询到的信息
...@@ -340,7 +339,7 @@ public class ES4RedisTask { ...@@ -340,7 +339,7 @@ public class ES4RedisTask {
} else { } else {
// 获取新的rsid和信息实体 // 获取新的rsid和信息实体
RsidAndMessages ram = disposeMessageService.getFilteredMediaMessage(trackRules, noiseRules, RsidAndMessages ram = disposeMessageService.getFilteredMediaMessage(noiseRules,
kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName()); kwn.getKeyWords(), count, startrsid, -1L, platformName, project.getProjectName());
// 获取查询到的信息 // 获取查询到的信息
......
...@@ -82,7 +82,7 @@ public class ES4RedisThread extends Thread { ...@@ -82,7 +82,7 @@ public class ES4RedisThread extends Thread {
Thread.currentThread().interrupted(); Thread.currentThread().interrupted();
log.warn("{}项目超时", project.getProjectName()); log.warn("{}项目超时", project.getProjectName());
} }
}, 29 * 1000L); }, 49 * 1000L);
// 程序运行 // 程序运行
log.info("Running {}", threadName); log.info("Running {}", threadName);
......
...@@ -32,4 +32,5 @@ public class MediaMessage { ...@@ -32,4 +32,5 @@ public class MediaMessage {
private String colum; private String colum;
private String rootSourcce; private String rootSourcce;
private Double channelIndex; private Double channelIndex;
private String crawlerV;
} }
\ No newline at end of file
...@@ -5,7 +5,12 @@ import org.springframework.context.annotation.Configuration; ...@@ -5,7 +5,12 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import lombok.Data;
import lombok.ToString;
//redus配置类 //redus配置类
@Data
@ToString
@Component @Component
@Configuration @Configuration
@ConfigurationProperties(prefix = "redis") @ConfigurationProperties(prefix = "redis")
...@@ -18,6 +23,7 @@ public class RedisConfig { ...@@ -18,6 +23,7 @@ public class RedisConfig {
private boolean testOnReturn; private boolean testOnReturn;
private String ip; private String ip;
private int port; private int port;
private String password;
private int keyMaxSize; private int keyMaxSize;
...@@ -25,100 +31,4 @@ public class RedisConfig { ...@@ -25,100 +31,4 @@ public class RedisConfig {
private int user_keyMaxSize; private int user_keyMaxSize;
private int cacheSize; private int cacheSize;
private int intitCount; private int intitCount;
public int getMaxTotal() {
return maxTotal;
}
public void setMaxTotal(int maxTotal) {
this.maxTotal = maxTotal;
}
public int getMaxIdle() {
return maxIdle;
}
public void setMaxIdle(int maxIdle) {
this.maxIdle = maxIdle;
}
public int getMaxWaitMillis() {
return maxWaitMillis;
}
public void setMaxWaitMillis(int maxWaitMillis) {
this.maxWaitMillis = maxWaitMillis;
}
public boolean isTestOnBorrow() {
return testOnBorrow;
}
public void setTestOnBorrow(boolean testOnBorrow) {
this.testOnBorrow = testOnBorrow;
}
public boolean isTestOnReturn() {
return testOnReturn;
}
public void setTestOnReturn(boolean testOnReturn) {
this.testOnReturn = testOnReturn;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public int getKeyMaxSize() {
return keyMaxSize;
}
public void setKeyMaxSize(int keyMaxSize) {
this.keyMaxSize = keyMaxSize;
}
public int getSelectDB() {
return selectDB;
}
public void setSelectDB(int selectDB) {
this.selectDB = selectDB;
}
public int getUser_keyMaxSize() {
return user_keyMaxSize;
}
public void setUser_keyMaxSize(int user_keyMaxSize) {
this.user_keyMaxSize = user_keyMaxSize;
}
public int getCacheSize() {
return cacheSize;
}
public void setCacheSize(int cacheSize) {
this.cacheSize = cacheSize;
}
public int getIntitCount() {
return intitCount;
}
public void setIntitCount(int intitCount) {
this.intitCount = intitCount;
}
} }
...@@ -9,8 +9,6 @@ import org.elasticsearch.common.transport.InetSocketTransportAddress; ...@@ -9,8 +9,6 @@ import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.transport.client.PreBuiltTransportClient; import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.zhiwei.messageflow.config.ESConfig;
@Component @Component
public class ESClient { public class ESClient {
public static TransportClient client = ESClientHolder.getESClient(); public static TransportClient client = ESClientHolder.getESClient();
...@@ -18,15 +16,15 @@ public class ESClient { ...@@ -18,15 +16,15 @@ public class ESClient {
private static class ESClientHolder { private static class ESClientHolder {
private static TransportClient getESClient() { private static TransportClient getESClient() {
Settings esSettings = Settings.builder().put("cluster.name", ESConfig.clusterName) // 设置ES实例的名称 Settings esSettings = Settings.builder().put("cluster.name", "Media-University") // 设置ES实例的名称
.put("client.transport.sniff", false) // 自动嗅探整个集群的状态,把集群中其他ES节点的ip添加到本地的客户端列表中 .put("client.transport.sniff", true) // 自动嗅探整个集群的状态,把集群中其他ES节点的ip添加到本地的客户端列表中
// .put("client.transport.ping_timeout", "15s") // .put("client.transport.ping_timeout", "15s")
.build(); .build();
TransportClient client = new PreBuiltTransportClient(esSettings); TransportClient client = new PreBuiltTransportClient(esSettings);
// 此步骤添加IP,至少一个,其实一个就够了,因为添加了自动嗅探配置 // 此步骤添加IP,至少一个,其实一个就够了,因为添加了自动嗅探配置
try { try {
client.addTransportAddress( client.addTransportAddress(
new InetSocketTransportAddress(InetAddress.getByName(ESConfig.ip), ESConfig.esPort)); new InetSocketTransportAddress(InetAddress.getByName("192.168.1.75"), 9300));
} catch (UnknownHostException e) { } catch (UnknownHostException e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -14,7 +14,6 @@ import org.elasticsearch.search.sort.SortOrder; ...@@ -14,7 +14,6 @@ import org.elasticsearch.search.sort.SortOrder;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.zhiwei.es.util.ESIndexesUtil; import com.zhiwei.es.util.ESIndexesUtil;
import com.zhiwei.messageflow.config.ESConfig;
import com.zhiwei.messageflow.es.ESClient; import com.zhiwei.messageflow.es.ESClient;
import com.zhiwei.messageflow.es.dao.ESDao; import com.zhiwei.messageflow.es.dao.ESDao;
import com.zhiwei.messageflow.util.ESQueryUtil; import com.zhiwei.messageflow.util.ESQueryUtil;
...@@ -25,7 +24,9 @@ public class ESDaoImpl implements ESDao { ...@@ -25,7 +24,9 @@ public class ESDaoImpl implements ESDao {
TransportClient transportClient = ESClient.client; TransportClient transportClient = ESClient.client;
protected static ESIndexesUtil.ESIndexes indexes = ESIndexesUtil.create("1.119.44.201", 9200); protected static ESIndexesUtil.ESIndexes indexes = ESIndexesUtil.create("192.168.1.75", 9200);
// protected static ESIndexesUtil.ESIndexes indexes =
// ESIndexesUtil.create("1.119.44.201", 9200);
@Override @Override
public SearchHits getWeiboDataFromEs(List<String> keywords, int count, long startid, long endid, String platform, public SearchHits getWeiboDataFromEs(List<String> keywords, int count, long startid, long endid, String platform,
...@@ -51,9 +52,9 @@ public class ESDaoImpl implements ESDao { ...@@ -51,9 +52,9 @@ public class ESDaoImpl implements ESDao {
List<String> list = indexes.getLastIndexes("network", 2); List<String> list = indexes.getLastIndexes("network", 2);
String[] indexlist = list.toArray(new String[list.size()]); String[] indexlist = list.toArray(new String[list.size()]);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist) SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist).setTypes("status")
.setTypes(ESConfig.weiboType).highlighter(highlightBuilder).setQuery(boolQueryBuilder) .highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rstime", SortOrder.DESC).setFrom(0)
.addSort("rstime", SortOrder.DESC).setFrom(0).setSize(count); .setSize(count);
if (startid > 0 && endid <= 0) { if (startid > 0 && endid <= 0) {
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("rstime").from(startid)); searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("rstime").from(startid));
...@@ -94,9 +95,9 @@ public class ESDaoImpl implements ESDao { ...@@ -94,9 +95,9 @@ public class ESDaoImpl implements ESDao {
HighlightBuilder highlightBuilder = ESQueryUtil.getHighlightBuilder("question_title", "question_content", HighlightBuilder highlightBuilder = ESQueryUtil.getHighlightBuilder("question_title", "question_content",
"answer_content");// 高亮设置 "answer_content");// 高亮设置
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(ESConfig.zhihuIndexName) SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch("zhihu*").setTypes("zhihu")
.setTypes(ESConfig.zhihuType).highlighter(highlightBuilder).setQuery(boolQueryBuilder) .highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rsid", SortOrder.DESC).setFrom(0)
.addSort("rsid", SortOrder.DESC).setFrom(0).setSize(count); .setSize(count);
if (startid > 0 && endid <= 0) { if (startid > 0 && endid <= 0) {
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("rsid").from(startid)); searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("rsid").from(startid));
...@@ -139,9 +140,9 @@ public class ESDaoImpl implements ESDao { ...@@ -139,9 +140,9 @@ public class ESDaoImpl implements ESDao {
String[] indexlist = list.toArray(new String[list.size()]); String[] indexlist = list.toArray(new String[list.size()]);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist) SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist).setTypes("video")
.setTypes(ESConfig.videoType).highlighter(highlightBuilder).setQuery(boolQueryBuilder) .highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rsid", SortOrder.DESC).setFrom(0)
.addSort("rsid", SortOrder.DESC).setFrom(0).setSize(count); .setSize(count);
if (startid > 0 && endid <= 0) { if (startid > 0 && endid <= 0) {
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("rsid").from(startid)); searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("rsid").from(startid));
...@@ -185,8 +186,23 @@ public class ESDaoImpl implements ESDao { ...@@ -185,8 +186,23 @@ public class ESDaoImpl implements ESDao {
} else if (platform.equals("报刊")) { } else if (platform.equals("报刊")) {
boolQueryBuilder.must(QueryBuilders.matchPhraseQuery("type", "平媒")); boolQueryBuilder.must(QueryBuilders.matchPhraseQuery("type", "平媒"));
} else if (platform.equals("今日头条")) { } else if (platform.equals("今日头条")) {
boolQueryBuilder.must(QueryBuilders.boolQuery().must(QueryBuilders.matchPhraseQuery("type", "今日头条")) // boolQueryBuilder.must(
.must(QueryBuilders.existsQuery("spyderInfoId"))); // QueryBuilders.boolQuery()
// .must(
// QueryBuilders.matchPhraseQuery("type", "今日头条")
// )
// .must(
// QueryBuilders.existsQuery("spyderInfoId")
// )
// );
BoolQueryBuilder booljrQueryBuilder1 = QueryBuilders.boolQuery();
BoolQueryBuilder booljrQueryBuilder2 = QueryBuilders.boolQuery();
booljrQueryBuilder1.must(QueryBuilders.matchPhraseQuery("type", "今日头条"))
.must(QueryBuilders.existsQuery("spyderInfoId"));
booljrQueryBuilder2.must(QueryBuilders.matchPhraseQuery("type", "今日头条"))
.must(QueryBuilders.existsQuery("crawlerV"));
boolQueryBuilder.must(QueryBuilders.boolQuery().should(booljrQueryBuilder1).should(booljrQueryBuilder2));
} else if (platform.equals("客户端")) { } else if (platform.equals("客户端")) {
boolQueryBuilder.must(QueryBuilders.boolQuery().should(QueryBuilders.wildcardQuery("type", "*客户端")) boolQueryBuilder.must(QueryBuilders.boolQuery().should(QueryBuilders.wildcardQuery("type", "*客户端"))
.should(QueryBuilders.matchPhraseQuery("type", "脉脉"))); .should(QueryBuilders.matchPhraseQuery("type", "脉脉")));
...@@ -258,9 +274,9 @@ public class ESDaoImpl implements ESDao { ...@@ -258,9 +274,9 @@ public class ESDaoImpl implements ESDao {
List<String> list = indexes.getLastIndexes("network", 2); List<String> list = indexes.getLastIndexes("network", 2);
String[] indexlist = list.toArray(new String[list.size()]); String[] indexlist = list.toArray(new String[list.size()]);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist) SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist).setTypes("status")
.setTypes(ESConfig.weiboType).highlighter(highlightBuilder).setQuery(boolQueryBuilder) .highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rstime", SortOrder.DESC).setFrom(0)
.addSort("rstime", SortOrder.DESC).setFrom(0).setSize(count); .setSize(count);
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("time").from(stime).to(etime)); searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("time").from(stime).to(etime));
SearchResponse response = searchRequestBuilder.execute().actionGet(); SearchResponse response = searchRequestBuilder.execute().actionGet();
SearchHits searchHits = response.getHits(); SearchHits searchHits = response.getHits();
...@@ -297,9 +313,9 @@ public class ESDaoImpl implements ESDao { ...@@ -297,9 +313,9 @@ public class ESDaoImpl implements ESDao {
HighlightBuilder highlightBuilder = ESQueryUtil.getHighlightBuilder("question_title", "question_content", HighlightBuilder highlightBuilder = ESQueryUtil.getHighlightBuilder("question_title", "question_content",
"answer_content");// 高亮设置 "answer_content");// 高亮设置
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(ESConfig.zhihuIndexName) SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch("zhihu*").setTypes("zhihu")
.setTypes(ESConfig.zhihuType).highlighter(highlightBuilder).setQuery(boolQueryBuilder) .highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rsid", SortOrder.DESC).setFrom(0)
.addSort("rsid", SortOrder.DESC).setFrom(0).setSize(count); .setSize(count);
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("insert_at").from(stime).to(etime)); searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("insert_at").from(stime).to(etime));
SearchResponse response = searchRequestBuilder.execute().actionGet(); SearchResponse response = searchRequestBuilder.execute().actionGet();
...@@ -337,9 +353,9 @@ public class ESDaoImpl implements ESDao { ...@@ -337,9 +353,9 @@ public class ESDaoImpl implements ESDao {
String[] indexlist = list.toArray(new String[list.size()]); String[] indexlist = list.toArray(new String[list.size()]);
SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist) SearchRequestBuilder searchRequestBuilder = transportClient.prepareSearch(indexlist).setTypes("video")
.setTypes(ESConfig.videoType).highlighter(highlightBuilder).setQuery(boolQueryBuilder) .highlighter(highlightBuilder).setQuery(boolQueryBuilder).addSort("rsid", SortOrder.DESC).setFrom(0)
.addSort("rsid", SortOrder.DESC).setFrom(0).setSize(count); .setSize(count);
searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("time").from(stime).to(etime)); searchRequestBuilder.setPostFilter(QueryBuilders.rangeQuery("time").from(stime).to(etime));
...@@ -390,8 +406,16 @@ public class ESDaoImpl implements ESDao { ...@@ -390,8 +406,16 @@ public class ESDaoImpl implements ESDao {
} else if (platform.equals("报刊")) { } else if (platform.equals("报刊")) {
boolQueryBuilder.must(QueryBuilders.matchPhraseQuery("type", "平媒")); boolQueryBuilder.must(QueryBuilders.matchPhraseQuery("type", "平媒"));
} else if (platform.equals("今日头条")) { } else if (platform.equals("今日头条")) {
boolQueryBuilder.must(QueryBuilders.boolQuery().must(QueryBuilders.matchPhraseQuery("type", "今日头条")) // boolQueryBuilder.must(QueryBuilders.boolQuery().must(QueryBuilders.matchPhraseQuery("type",
.must(QueryBuilders.existsQuery("spyderInfoId"))); // "今日头条"))
// .must(QueryBuilders.existsQuery("spyderInfoId")));
BoolQueryBuilder booljrQueryBuilder1 = QueryBuilders.boolQuery();
BoolQueryBuilder booljrQueryBuilder2 = QueryBuilders.boolQuery();
booljrQueryBuilder1.must(QueryBuilders.matchPhraseQuery("type", "今日头条"))
.must(QueryBuilders.existsQuery("spyderInfoId"));
booljrQueryBuilder2.must(QueryBuilders.matchPhraseQuery("type", "今日头条"))
.must(QueryBuilders.existsQuery("crawlerV"));
boolQueryBuilder.must(QueryBuilders.boolQuery().should(booljrQueryBuilder1).should(booljrQueryBuilder2));
} else if (platform.equals("客户端")) { } else if (platform.equals("客户端")) {
boolQueryBuilder.must(QueryBuilders.boolQuery().should(QueryBuilders.wildcardQuery("type", "*客户端")) boolQueryBuilder.must(QueryBuilders.boolQuery().should(QueryBuilders.wildcardQuery("type", "*客户端"))
.should(QueryBuilders.matchPhraseQuery("type", "脉脉"))); .should(QueryBuilders.matchPhraseQuery("type", "脉脉")));
......
...@@ -40,7 +40,6 @@ public class HighLightFillingServiceImpl implements HighLightFillingService { ...@@ -40,7 +40,6 @@ public class HighLightFillingServiceImpl implements HighLightFillingService {
@Override @Override
public WeiboMessage getWeiboBean(SearchHit searchHit) { public WeiboMessage getWeiboBean(SearchHit searchHit) {
/** /**
* ES数据读取 * ES数据读取
*/ */
......
...@@ -21,7 +21,7 @@ import com.zhiwei.messageflow.mongo.bean.NoiseRule; ...@@ -21,7 +21,7 @@ import com.zhiwei.messageflow.mongo.bean.NoiseRule;
public class NoiseProcessingServiceImpl implements NoiseProcessingService { public class NoiseProcessingServiceImpl implements NoiseProcessingService {
@Autowired @Autowired
HighLightFillingService highLightFillingService; private HighLightFillingService highLightFillingService;
@Override @Override
public List<WeiboMessage> weiboDenoising(List<NoiseRule> noiseRules, SearchHits searchHits, String platform, public List<WeiboMessage> weiboDenoising(List<NoiseRule> noiseRules, SearchHits searchHits, String platform,
......
...@@ -8,6 +8,8 @@ import java.util.Map; ...@@ -8,6 +8,8 @@ import java.util.Map;
import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.SearchHits;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -22,6 +24,8 @@ import com.zhiwei.messageflow.util.TimeUtil; ...@@ -22,6 +24,8 @@ import com.zhiwei.messageflow.util.TimeUtil;
@Component @Component
public class TrackHitAndWarnServiceImpl implements TrackHitAndWarnService { public class TrackHitAndWarnServiceImpl implements TrackHitAndWarnService {
private final static Logger log = LoggerFactory.getLogger(TrackHitAndWarnServiceImpl.class);
@Autowired @Autowired
private TrackESDao trackESDao; private TrackESDao trackESDao;
...@@ -231,14 +235,14 @@ public class TrackHitAndWarnServiceImpl implements TrackHitAndWarnService { ...@@ -231,14 +235,14 @@ public class TrackHitAndWarnServiceImpl implements TrackHitAndWarnService {
result = userMailService.sendMailByProject(projectName, templateData); result = userMailService.sendMailByProject(projectName, templateData);
if ((result.get("message") + "").equals("用户组邮件发送成功")) { if ((result.get("message") + "").equals("用户组邮件发送成功")) {
System.out.println("发送邮件预警成功"); log.info("发送邮件预警成功");
trackRule.setWarn(true); trackRule.setWarn(true);
trackRuleDao.updateTrackrule(trackRule.get_id()); trackRuleDao.updateTrackrule(trackRule.get_id());
break; break;
} else if ((result.get("message") + "").equals("用户组邮箱未获取到")) { } else if ((result.get("message") + "").equals("用户组邮箱未获取到")) {
System.out.println("发送邮件预警失败,用户获取问题"); log.error("发送邮件预警失败,用户获取问题");
} else { } else {
System.out.println("本次部分条发送失败"); log.error("本次部分条发送失败");
trackRule.setWarn(true); trackRule.setWarn(true);
trackRuleDao.updateTrackrule(trackRule.get_id()); trackRuleDao.updateTrackrule(trackRule.get_id());
break; break;
......
...@@ -73,7 +73,6 @@ public class MatchingInfo { ...@@ -73,7 +73,6 @@ public class MatchingInfo {
weibo.setUrl(map.get("url").toString()); weibo.setUrl(map.get("url").toString());
if (map.get("time") != null) if (map.get("time") != null)
weibo.setTime(map.get("time").toString()); weibo.setTime(map.get("time").toString());
System.out.println(weibo.toString());
weibos.add(weibo); weibos.add(weibo);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
...@@ -123,7 +122,6 @@ public class MatchingInfo { ...@@ -123,7 +122,6 @@ public class MatchingInfo {
Date d = sdf.parse(map.get("created_at").toString()); Date d = sdf.parse(map.get("created_at").toString());
zhihuInfo.setInsert_at(d); zhihuInfo.setInsert_at(d);
} }
System.out.println(zhihuInfo.toString());
zhihuInfos.add(zhihuInfo); zhihuInfos.add(zhihuInfo);
} catch (IOException | ParseException e) { } catch (IOException | ParseException e) {
e.printStackTrace(); e.printStackTrace();
...@@ -157,7 +155,6 @@ public class MatchingInfo { ...@@ -157,7 +155,6 @@ public class MatchingInfo {
Date d = sdf.parse(map.get("time").toString()); Date d = sdf.parse(map.get("time").toString());
video.setTime(d); video.setTime(d);
} }
System.out.println(video.toString());
videos.add(video); videos.add(video);
} catch (IOException | ParseException e) { } catch (IOException | ParseException e) {
e.printStackTrace(); e.printStackTrace();
...@@ -186,6 +183,8 @@ public class MatchingInfo { ...@@ -186,6 +183,8 @@ public class MatchingInfo {
media.setTitle(map.get("title").toString()); media.setTitle(map.get("title").toString());
if (map.get("source") != null) if (map.get("source") != null)
media.setSource(map.get("source").toString()); media.setSource(map.get("source").toString());
if (map.get("crawlerV") != null)
media.setCrawlerV(map.get("crawlerV").toString());
if (map.get("content") != null) if (map.get("content") != null)
media.setContent(map.get("content").toString()); media.setContent(map.get("content").toString());
if (map.get("channelIndex") != null) if (map.get("channelIndex") != null)
...@@ -194,7 +193,6 @@ public class MatchingInfo { ...@@ -194,7 +193,6 @@ public class MatchingInfo {
Date d = sdf.parse(map.get("time").toString()); Date d = sdf.parse(map.get("time").toString());
media.setTime(d); media.setTime(d);
} }
System.out.println(media.toString());
medias.add(media); medias.add(media);
} catch (IOException | ParseException e) { } catch (IOException | ParseException e) {
e.printStackTrace(); e.printStackTrace();
......
...@@ -27,4 +27,5 @@ public class Media { ...@@ -27,4 +27,5 @@ public class Media {
private String dangerLevel;// 危险等级 private String dangerLevel;// 危险等级
private String markGroup;// 标记组 private String markGroup;// 标记组
private String markPerson;// 标记人 private String markPerson;// 标记人
private String crawlerV;
} }
...@@ -4,25 +4,48 @@ import java.util.Properties; ...@@ -4,25 +4,48 @@ import java.util.Properties;
public class MailSenderInfo public class MailSenderInfo
{ {
// 发送服务器的IP和端口 /**
* 发送服务器的IP和端口
*/
private String mailServerHost; private String mailServerHost;
private String mailServerPort = "25"; private String mailServerPort = "25";
// 邮件发送者地址
/**
* 邮件发送者地址
*/
private String fromAddress; private String fromAddress;
private String nickName; private String nickName;
// 邮件接受者的地址
/**
* 邮件接受者的地址
*/
private String toAddress; private String toAddress;
// 登录邮件发送服务器的用户名和密码
/**
* 登录邮件发送服务器的用户名和密码
*/
private String userName; private String userName;
private String password; private String password;
// 是否需要身份验证
/**
* 是否需要身份验证
*/
private boolean validate = false; private boolean validate = false;
// 邮件主题
/**
* 邮件主题
*/
private String subject; private String subject;
// 邮件的文本内容
/**
* 邮件的文本内容
*/
private String content; private String content;
// 邮件附件的文件名
/**
* 邮件附件的文件名
*/
private String[] attachFileNames; private String[] attachFileNames;
/* /*
......
package com.zhiwei.messageflow.mail; package com.zhiwei.messageflow.mail;
import javax.mail.Authenticator; import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication; import javax.mail.PasswordAuthentication;
public class MyAuthenticator extends Authenticator{ public class MyAuthenticator extends Authenticator {
String userName=null;//用户名
String password=null;//密码 String userName = null;// 用户名
String password = null;// 密码
/* /*
* 无参构造 * 无参构造
*/ */
public MyAuthenticator(){} public MyAuthenticator() {
/*
* 代参构造
*/
public MyAuthenticator(String username,String cs){
this.userName=username;
this.password=cs;
} }
/* /*
* * 带参构造
*/ */
protected PasswordAuthentication getPasswordAuthentication(){ public MyAuthenticator(String username, String cs) {
return new PasswordAuthentication(userName,password); this.userName = username;
this.password = cs;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userName, password);
} }
} }
...@@ -34,39 +34,6 @@ public class SendMail { ...@@ -34,39 +34,6 @@ public class SendMail {
return f; return f;
} }
// /**
// * @Title: sendMailBriefing
// * @Description: TODO(发送舆情简报)
// * @param email
// * @param mailTitle 邮件标题
// * @param briefs
// * @return 设定文件
// * @date 2017年11月16日 下午5:48:14
// * @return boolean 返回类型
// */
// public static boolean sendMailBriefing(String email, String
// mailTitle,List<Brief> briefs) {
// // 这个类主要是设置邮件
// MailSenderInfo mailInfo = new MailSenderInfo();
// mailInfo.setMailServerHost("smtp.ym.163.com");
// // mailInfo.setMailServerHost("smtp.163.com");
// mailInfo.setMailServerPort("25");
// mailInfo.setValidate(true);
// mailInfo.setUserName("qbjcyj@zhiweidata.com");
// mailInfo.setPassword("1q2w3e4r");// 您的邮箱密码
// mailInfo.setFromAddress("qbjcyj@zhiweidata.com");
// mailInfo.setNickName("知微情报监测服务");
//
// boolean f = false;
// mailInfo.setToAddress(email);
// mailInfo.setSubject(mailTitle);
//
// mailInfo.setContent(mailContent(briefs));
// // 这个类主要来发送邮件
// f = SimpleMailSender.sendHtmlMail(mailInfo);// 发送文体格式
// return f;
// }
/** /**
* *
* @Title: mailContent * @Title: mailContent
...@@ -131,34 +98,6 @@ public class SendMail { ...@@ -131,34 +98,6 @@ public class SendMail {
return sb.toString(); return sb.toString();
} }
// /**
// *
// * @Title: mailContent
// * @Description: TODO(拼接所发邮件内容)
// * @param templateData
// * @return 设定文件
// * @date 2017年11月8日 下午4:29:41
// * @return String 返回类型
// */
// private static String mailContent(List<Brief> briefs) {
// StringBuffer sb = new StringBuffer();
//
// Brief brief;
// for (int i = 0; i < briefs.size(); i++) {
// brief = briefs.get(i);
// sb.append("<div><B>" +getHotLink(brief.getTitle(), brief.getUrl())
// +"</B></div><br>");
// sb.append("<div>" + brief.getDetails() + "</div><br>");
// sb.append("<br>");
// }
// sb.append("<div>Best Regards,</div>");
// sb.append("<div>知微——情报监测</div>");
// sb.append("<style>*{ font-size:18px} *{font-family:Microsoft
// YaHei;}</style>");
//
// return sb.toString();
// }
/** /**
* @Title: getHotLink * @Title: getHotLink
* @Description: TODO(这里用一句话描述这个方法的作用) * @Description: TODO(这里用一句话描述这个方法的作用)
......
...@@ -8,12 +8,12 @@ import org.springframework.data.mongodb.core.MongoTemplate; ...@@ -8,12 +8,12 @@ import org.springframework.data.mongodb.core.MongoTemplate;
@Configuration @Configuration
@ConfigurationProperties(prefix = "spring.data.mongodb.primary") @ConfigurationProperties(prefix = "spring.data.mongodb.primary")
public class PrimaryMongoConfig extends AbstractMongoConfig{ public class PrimaryMongoConfig extends AbstractMongoConfig {
@Primary @Primary
@Override @Override
public @Bean(name = "primaryMongoTemplate") MongoTemplate getMongoTemplate() throws Exception { public @Bean(name = "primaryMongoTemplate") MongoTemplate getMongoTemplate() throws Exception {
return new MongoTemplate(mongoDbFactory()); return new MongoTemplate(mongoDbFactory());
} }
} }
...@@ -7,7 +7,7 @@ import org.springframework.data.mongodb.core.MongoTemplate; ...@@ -7,7 +7,7 @@ import org.springframework.data.mongodb.core.MongoTemplate;
@Configuration @Configuration
@ConfigurationProperties(prefix = "spring.data.mongodb.thirdary") @ConfigurationProperties(prefix = "spring.data.mongodb.thirdary")
public class ThirdaryMongoConfig extends AbstractMongoConfig{ public class ThirdaryMongoConfig extends AbstractMongoConfig {
@Override @Override
public @Bean(name = "thirdaryMongoTemplate") MongoTemplate getMongoTemplate() throws Exception { public @Bean(name = "thirdaryMongoTemplate") MongoTemplate getMongoTemplate() throws Exception {
......
...@@ -5,7 +5,7 @@ import com.zhiwei.messageflow.mongo.bean.HuserInfoWeibo; ...@@ -5,7 +5,7 @@ import com.zhiwei.messageflow.mongo.bean.HuserInfoWeibo;
import com.zhiwei.messageflow.mongo.bean.HuserInfoWeixin; import com.zhiwei.messageflow.mongo.bean.HuserInfoWeixin;
public interface HuserInfoDao { public interface HuserInfoDao {
/** /**
* 微博渠道信息获取 * 微博渠道信息获取
* *
...@@ -13,7 +13,7 @@ public interface HuserInfoDao { ...@@ -13,7 +13,7 @@ public interface HuserInfoDao {
* @return * @return
*/ */
HuserInfoWeibo getHuserInfoWeibo(String user_id); HuserInfoWeibo getHuserInfoWeibo(String user_id);
/** /**
* 微信渠道信息获取 * 微信渠道信息获取
* *
...@@ -21,7 +21,7 @@ public interface HuserInfoDao { ...@@ -21,7 +21,7 @@ public interface HuserInfoDao {
* @return * @return
*/ */
HuserInfoWeixin getHuserInfoWeixin(String username); HuserInfoWeixin getHuserInfoWeixin(String username);
/** /**
* 网媒渠道信息获取 * 网媒渠道信息获取
* *
......
...@@ -9,7 +9,7 @@ public interface PlatformDao { ...@@ -9,7 +9,7 @@ public interface PlatformDao {
* @return * @return
*/ */
List<String> getPublicPlatformName(); List<String> getPublicPlatformName();
/** /**
* 获取全部平台名列表 * 获取全部平台名列表
* *
......
...@@ -5,7 +5,7 @@ import java.util.List; ...@@ -5,7 +5,7 @@ import java.util.List;
import com.zhiwei.messageflow.mongo.bean.Project; import com.zhiwei.messageflow.mongo.bean.Project;
public interface ProjectDao { public interface ProjectDao {
/** /**
* 获取项目列表 * 获取项目列表
* *
......
...@@ -5,7 +5,7 @@ import java.util.List; ...@@ -5,7 +5,7 @@ import java.util.List;
import com.zhiwei.messageflow.mongo.bean.TrackRule; import com.zhiwei.messageflow.mongo.bean.TrackRule;
public interface TrackRuleDao { public interface TrackRuleDao {
/** /**
* 根据项目查询预警规则 * 根据项目查询预警规则
* *
...@@ -13,7 +13,7 @@ public interface TrackRuleDao { ...@@ -13,7 +13,7 @@ public interface TrackRuleDao {
* @return * @return
*/ */
List<TrackRule> getTrackRuleByProject(String projectName); List<TrackRule> getTrackRuleByProject(String projectName);
/** /**
* 更新项目预警情况 * 更新项目预警情况
* *
......
...@@ -5,7 +5,7 @@ import java.util.List; ...@@ -5,7 +5,7 @@ import java.util.List;
import com.zhiwei.messageflow.mongo.bean.UserWechat; import com.zhiwei.messageflow.mongo.bean.UserWechat;
public interface UserWechatDao { public interface UserWechatDao {
/** /**
* 获取预警微信 * 获取预警微信
* *
......
...@@ -5,5 +5,13 @@ import java.util.Map; ...@@ -5,5 +5,13 @@ import java.util.Map;
import com.zhiwei.messageflow.es.bean.TemplateData; import com.zhiwei.messageflow.es.bean.TemplateData;
public interface UserMailService { public interface UserMailService {
Map<String,Object> sendMailByProject(String project, TemplateData templateData);
/**
* 发送邮件
*
* @param project
* @param templateData
* @return
*/
Map<String, Object> sendMailByProject(String project, TemplateData templateData);
} }
...@@ -6,6 +6,7 @@ import com.zhiwei.messageflow.mongo.bean.WechatCode; ...@@ -6,6 +6,7 @@ import com.zhiwei.messageflow.mongo.bean.WechatCode;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
public interface WechatSendService { public interface WechatSendService {
int sendTemplateByProject(String projectName, TemplateData templateData); int sendTemplateByProject(String projectName, TemplateData templateData);
int sendDataJson(WechatCode wechatCode,JSONObject dataJson); int sendDataJson(WechatCode wechatCode,JSONObject dataJson);
......
...@@ -17,19 +17,23 @@ import com.zhiwei.messageflow.mongo.service.UserMailService; ...@@ -17,19 +17,23 @@ import com.zhiwei.messageflow.mongo.service.UserMailService;
@Component @Component
public class UserMailServiceImpl implements UserMailService { public class UserMailServiceImpl implements UserMailService {
@SuppressWarnings("unused")
@Autowired @Autowired
private UserMailDao userMailDao; private UserMailDao userMailDao;
@Override @Override
public Map<String, Object> sendMailByProject(String project, TemplateData templateData) { public Map<String, Object> sendMailByProject(String project, TemplateData templateData) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
// List<UserMail> mails = userMailDao.findUserMailByProject(project); List<UserMail> mails = userMailDao.findUserMailByProject(project);
List<UserMail> mails = new ArrayList<>();
UserMail mail = new UserMail(); /**
mail.setAddress("1454551152@qq.com"); * 本地测试
mail.setProject("腾讯"); */
mails.add(mail); // List<UserMail> mails = new ArrayList<>();
// UserMail mail = new UserMail();
// mail.setAddress("1454551152@qq.com");
// mail.setProject("腾讯");
// mails.add(mail);
List<String> failMails = new ArrayList<>(); List<String> failMails = new ArrayList<>();
int success = 0; int success = 0;
for (UserMail userMail : mails) { for (UserMail userMail : mails) {
......
package com.zhiwei.messageflow.mongo.service.impl; package com.zhiwei.messageflow.mongo.service.impl;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -25,26 +24,28 @@ import net.sf.json.JSONObject; ...@@ -25,26 +24,28 @@ import net.sf.json.JSONObject;
@Component @Component
public class WechatSendServiceImpl implements WechatSendService { public class WechatSendServiceImpl implements WechatSendService {
private final static Logger log = LoggerFactory.getLogger(WechatSendServiceImpl.class); private final static Logger log = LoggerFactory.getLogger(WechatSendServiceImpl.class);
@Autowired @Autowired
private WechatCodeDao wechatCodeDao; private WechatCodeDao wechatCodeDao;
@SuppressWarnings("unused")
@Autowired @Autowired
private UserWechatDao userWechatDao; private UserWechatDao userWechatDao;
@SuppressWarnings("unused")
@Override @Override
public int sendTemplateByProject(String projectName, TemplateData templateData) { public int sendTemplateByProject(String projectName, TemplateData templateData) {
WechatCode wechatCode=wechatCodeDao.getWechatCodeByAppId(WechatConstant.WECHAT_APPID); WechatCode wechatCode = wechatCodeDao.getWechatCodeByAppId(WechatConstant.WECHAT_APPID);
// List<UserWechat> userWechats=userWechatDao.getUserWechatByProject(projectName); List<UserWechat> userWechats = userWechatDao.getUserWechatByProject(projectName);
List<UserWechat> userWechats=new ArrayList<>();
UserWechat userWechat1=new UserWechat(); /**
userWechat1.setOpenid("o_J5m0b9Un5rRfUXZS5S3kKjkzeo"); * 本地测试
userWechats.add(userWechat1); */
// List<UserWechat> userWechats = new ArrayList<>();
// UserWechat userWechat1 = new UserWechat();
// userWechat1.setOpenid("o_J5m0b9Un5rRfUXZS5S3kKjkzeo");
// userWechats.add(userWechat1);
if (null == userWechats) { if (null == userWechats) {
log.error("未获取到UserWechat,查询依据【{}】", projectName); log.error("未获取到UserWechat,查询依据【{}】", projectName);
return -1; return -1;
......
...@@ -35,7 +35,7 @@ public class RedisPoolAndTools { ...@@ -35,7 +35,7 @@ public class RedisPoolAndTools {
config.setMaxWaitMillis(redisConfig.getMaxWaitMillis()); config.setMaxWaitMillis(redisConfig.getMaxWaitMillis());
config.setTestOnBorrow(redisConfig.isTestOnBorrow()); config.setTestOnBorrow(redisConfig.isTestOnBorrow());
config.setTestOnReturn(redisConfig.isTestOnReturn()); config.setTestOnReturn(redisConfig.isTestOnReturn());
pool = new JedisPool(config, redisConfig.getIp(), redisConfig.getPort(), 0, null, redisConfig.getSelectDB()); pool = new JedisPool(config, redisConfig.getIp(), redisConfig.getPort(), 0, redisConfig.getPassword(), redisConfig.getSelectDB());
} }
/** /**
...@@ -45,35 +45,22 @@ public class RedisPoolAndTools { ...@@ -45,35 +45,22 @@ public class RedisPoolAndTools {
*/ */
private Jedis getJedis() { private Jedis getJedis() {
// 连接请求次数
int timeoutCount = 0;
if (null == pool) { if (null == pool) {
initializePool(); initializePool();
} }
while (true) {
try { try {
if (null != pool) { if (null != pool) {
return pool.getResource(); return pool.getResource();
} }
} catch (Exception e) { } catch (Exception e) {
if (e instanceof JedisConnectionException) { if (e instanceof JedisConnectionException) {
timeoutCount++;
log.warn("jedis连接请求次数{}", timeoutCount);
if (timeoutCount > 3) {
break;
}
} else {
log.warn("jedisInfo ... NumActive=" + pool.getNumActive() + ", NumIdle=" + pool.getNumIdle() log.warn("jedisInfo ... NumActive=" + pool.getNumActive() + ", NumIdle=" + pool.getNumIdle()
+ ", NumWaiters=" + pool.getNumWaiters() + ", isClosed=" + pool.isClosed()); + ", NumWaiters=" + pool.getNumWaiters() + ", isClosed=" + pool.isClosed());
log.error("获取jedis连接错误:{}", e.getMessage()); log.error("获取jedis连接错误:{}", e.getMessage());
break;
} }
} } // 请求jedis完成
break;
}//请求jedis完成
return null; return null;
} }
......
...@@ -22,7 +22,7 @@ public class RedisServiceImpl implements RedisService { ...@@ -22,7 +22,7 @@ public class RedisServiceImpl implements RedisService {
@Autowired @Autowired
private RedisPoolAndTools redisPoolAndTools; private RedisPoolAndTools redisPoolAndTools;
static ObjectMapper mapper=new ObjectMapper(); static ObjectMapper mapper = new ObjectMapper();
static { static {
mapper.setSerializationInclusion(Include.NON_EMPTY); mapper.setSerializationInclusion(Include.NON_EMPTY);
...@@ -35,13 +35,13 @@ public class RedisServiceImpl implements RedisService { ...@@ -35,13 +35,13 @@ public class RedisServiceImpl implements RedisService {
@Override @Override
public void setRsid(Map<String, Integer> rsidmap, String project) { public void setRsid(Map<String, Integer> rsidmap, String project) {
try { try {
redisPoolAndTools.setRSID(project, mapper.writeValueAsString(rsidmap)); redisPoolAndTools.setRSID(project, mapper.writeValueAsString(rsidmap));
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
@Override @Override
...@@ -99,7 +99,7 @@ public class RedisServiceImpl implements RedisService { ...@@ -99,7 +99,7 @@ public class RedisServiceImpl implements RedisService {
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
/** /**
...@@ -110,12 +110,12 @@ public class RedisServiceImpl implements RedisService { ...@@ -110,12 +110,12 @@ public class RedisServiceImpl implements RedisService {
if (maxSize > 0 && nowCount > maxSize) { if (maxSize > 0 && nowCount > maxSize) {
redisPoolAndTools.removeDataByName(redisKey.getBytes(), removeIndex); redisPoolAndTools.removeDataByName(redisKey.getBytes(), removeIndex);
} }
} }
@Override @Override
public void setMediaMessageMessage(String redisKey, List<MediaMessage> messages, int maxSize) { public void setMediaMessageMessage(String redisKey, List<MediaMessage> messages, int maxSize) {
for (MediaMessage mm : messages) { for (MediaMessage mm : messages) {
try { try {
// 写入数据 // 写入数据
...@@ -124,7 +124,7 @@ public class RedisServiceImpl implements RedisService { ...@@ -124,7 +124,7 @@ public class RedisServiceImpl implements RedisService {
e.printStackTrace(); e.printStackTrace();
} }
} }
/** /**
* 删除超出存储上限的数据 * 删除超出存储上限的数据
*/ */
...@@ -133,7 +133,7 @@ public class RedisServiceImpl implements RedisService { ...@@ -133,7 +133,7 @@ public class RedisServiceImpl implements RedisService {
if (maxSize > 0 && nowCount > maxSize) { if (maxSize > 0 && nowCount > maxSize) {
redisPoolAndTools.removeDataByName(redisKey.getBytes(), removeIndex); redisPoolAndTools.removeDataByName(redisKey.getBytes(), removeIndex);
} }
} }
} }
...@@ -3,7 +3,6 @@ package com.zhiwei.messageflow.service; ...@@ -3,7 +3,6 @@ package com.zhiwei.messageflow.service;
import java.util.List; import java.util.List;
import com.zhiwei.messageflow.mongo.bean.NoiseRule; import com.zhiwei.messageflow.mongo.bean.NoiseRule;
import com.zhiwei.messageflow.mongo.bean.TrackRule;
import com.zhiwei.messageflow.redis.bean.RsidAndMessages; import com.zhiwei.messageflow.redis.bean.RsidAndMessages;
public interface DisposeMessageService { public interface DisposeMessageService {
...@@ -11,8 +10,6 @@ public interface DisposeMessageService { ...@@ -11,8 +10,6 @@ public interface DisposeMessageService {
/** /**
* 获取微博平台RsidAndMessages * 获取微博平台RsidAndMessages
* *
* @param trackRules
* 预警规则
* @param noiseRules * @param noiseRules
* 去噪规则 * 去噪规则
* @param keywords * @param keywords
...@@ -29,14 +26,12 @@ public interface DisposeMessageService { ...@@ -29,14 +26,12 @@ public interface DisposeMessageService {
* 项目 * 项目
* @return * @return
*/ */
RsidAndMessages getFilteredWeiboMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules, RsidAndMessages getFilteredWeiboMessage(List<NoiseRule> noiseRules, List<String> keywords, int count, Long startid,
List<String> keywords, int count, Long startid, Long endid, String platform, String project); Long endid, String platform, String project);
/** /**
* 获取知乎平台RsidAndMessages * 获取知乎平台RsidAndMessages
* *
* @param trackRules
* 预警规则
* @param noiseRules * @param noiseRules
* 去噪规则 * 去噪规则
* @param keywords * @param keywords
...@@ -53,14 +48,12 @@ public interface DisposeMessageService { ...@@ -53,14 +48,12 @@ public interface DisposeMessageService {
* 项目 * 项目
* @return * @return
*/ */
RsidAndMessages getFilteredZhihuMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules, RsidAndMessages getFilteredZhihuMessage(List<NoiseRule> noiseRules, List<String> keywords, int count, Long startid,
List<String> keywords, int count, Long startid, Long endid, String platform, String project); Long endid, String platform, String project);
/** /**
* 获取视频平台RsidAndMessages * 获取视频平台RsidAndMessages
* *
* @param trackRules
* 预警规则
* @param noiseRules * @param noiseRules
* 去噪规则 * 去噪规则
* @param keywords * @param keywords
...@@ -77,14 +70,12 @@ public interface DisposeMessageService { ...@@ -77,14 +70,12 @@ public interface DisposeMessageService {
* 项目 * 项目
* @return * @return
*/ */
RsidAndMessages getFilteredVideoMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules, RsidAndMessages getFilteredVideoMessage(List<NoiseRule> noiseRules, List<String> keywords, int count, Long startid,
List<String> keywords, int count, Long startid, Long endid, String platform, String project); Long endid, String platform, String project);
/** /**
* 获取网媒平台RsidAndMessages * 获取网媒平台RsidAndMessages
* *
* @param trackRules
* 预警规则
* @param noiseRules * @param noiseRules
* 去噪规则 * 去噪规则
* @param keywords * @param keywords
...@@ -101,6 +92,6 @@ public interface DisposeMessageService { ...@@ -101,6 +92,6 @@ public interface DisposeMessageService {
* 项目 * 项目
* @return * @return
*/ */
RsidAndMessages getFilteredMediaMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules, RsidAndMessages getFilteredMediaMessage(List<NoiseRule> noiseRules, List<String> keywords, int count, Long startid,
List<String> keywords, int count, Long startid, Long endid, String platform, String project); Long endid, String platform, String project);
} }
...@@ -14,7 +14,6 @@ import com.zhiwei.messageflow.bean.WeiboMessage; ...@@ -14,7 +14,6 @@ import com.zhiwei.messageflow.bean.WeiboMessage;
import com.zhiwei.messageflow.bean.ZhihuMessage; import com.zhiwei.messageflow.bean.ZhihuMessage;
import com.zhiwei.messageflow.es.service.ES4BeanService; import com.zhiwei.messageflow.es.service.ES4BeanService;
import com.zhiwei.messageflow.mongo.bean.NoiseRule; import com.zhiwei.messageflow.mongo.bean.NoiseRule;
import com.zhiwei.messageflow.mongo.bean.TrackRule;
import com.zhiwei.messageflow.redis.bean.RsidAndMessages; import com.zhiwei.messageflow.redis.bean.RsidAndMessages;
import com.zhiwei.messageflow.service.DisposeMessageService; import com.zhiwei.messageflow.service.DisposeMessageService;
...@@ -27,8 +26,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService { ...@@ -27,8 +26,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
private ES4BeanService es4BeanDao; private ES4BeanService es4BeanDao;
@Override @Override
public RsidAndMessages getFilteredWeiboMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules, public RsidAndMessages getFilteredWeiboMessage(List<NoiseRule> noiseRules, List<String> keywords, int count,
List<String> keywords, int count, Long startid, Long endid, String platform, String project) { Long startid, Long endid, String platform, String project) {
RsidAndMessages ram = new RsidAndMessages(); RsidAndMessages ram = new RsidAndMessages();
...@@ -39,7 +38,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService { ...@@ -39,7 +38,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
/** /**
* 获取最后消息的rsid * 获取最后消息的rsid
*/ */
if (messages!=null&&!messages.isEmpty()) { if (messages != null && !messages.isEmpty()) {
WeiboMessage wmf = messages.get(0); WeiboMessage wmf = messages.get(0);
WeiboMessage wml = messages.get(messages.size() - 1); WeiboMessage wml = messages.get(messages.size() - 1);
ram.setWlist(messages); ram.setWlist(messages);
...@@ -50,8 +49,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService { ...@@ -50,8 +49,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
} }
@Override @Override
public RsidAndMessages getFilteredZhihuMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules, public RsidAndMessages getFilteredZhihuMessage(List<NoiseRule> noiseRules, List<String> keywords, int count,
List<String> keywords, int count, Long startid, Long endid, String platform, String project) { Long startid, Long endid, String platform, String project) {
RsidAndMessages ram = new RsidAndMessages(); RsidAndMessages ram = new RsidAndMessages();
// 消息列表 // 消息列表
...@@ -61,7 +60,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService { ...@@ -61,7 +60,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
/** /**
* 获取最后消息的rsid * 获取最后消息的rsid
*/ */
if (messages!=null&&!messages.isEmpty()) { if (messages != null && !messages.isEmpty()) {
ZhihuMessage zmf = messages.get(0); ZhihuMessage zmf = messages.get(0);
ZhihuMessage zml = messages.get(messages.size() - 1); ZhihuMessage zml = messages.get(messages.size() - 1);
ram.setZlist(messages); ram.setZlist(messages);
...@@ -72,8 +71,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService { ...@@ -72,8 +71,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
} }
@Override @Override
public RsidAndMessages getFilteredVideoMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules, public RsidAndMessages getFilteredVideoMessage(List<NoiseRule> noiseRules, List<String> keywords, int count,
List<String> keywords, int count, Long startid, Long endid, String platform, String project) { Long startid, Long endid, String platform, String project) {
RsidAndMessages ram = new RsidAndMessages(); RsidAndMessages ram = new RsidAndMessages();
// 消息列表 // 消息列表
...@@ -83,7 +82,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService { ...@@ -83,7 +82,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
/** /**
* 获取最后消息的rsid * 获取最后消息的rsid
*/ */
if (messages!=null&&!messages.isEmpty()) { if (messages != null && !messages.isEmpty()) {
VideoMessage vmf = messages.get(0); VideoMessage vmf = messages.get(0);
VideoMessage vml = messages.get(messages.size() - 1); VideoMessage vml = messages.get(messages.size() - 1);
ram.setVlist(messages); ram.setVlist(messages);
...@@ -94,8 +93,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService { ...@@ -94,8 +93,8 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
} }
@Override @Override
public RsidAndMessages getFilteredMediaMessage(List<TrackRule> trackRules, List<NoiseRule> noiseRules, public RsidAndMessages getFilteredMediaMessage(List<NoiseRule> noiseRules, List<String> keywords, int count,
List<String> keywords, int count, Long startid, Long endid, String platform, String project) { Long startid, Long endid, String platform, String project) {
RsidAndMessages ram = new RsidAndMessages(); RsidAndMessages ram = new RsidAndMessages();
// 消息列表 // 消息列表
...@@ -105,7 +104,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService { ...@@ -105,7 +104,7 @@ public class DisposeMessageServiceImpl implements DisposeMessageService {
/** /**
* 获取最后消息的rsid * 获取最后消息的rsid
*/ */
if (messages!=null&&!messages.isEmpty()) { if (messages != null && !messages.isEmpty()) {
MediaMessage mmf = messages.get(0); MediaMessage mmf = messages.get(0);
MediaMessage mml = messages.get(messages.size() - 1); MediaMessage mml = messages.get(messages.size() - 1);
ram.setMlist(messages); ram.setMlist(messages);
......
...@@ -205,7 +205,7 @@ public class GetMessage { ...@@ -205,7 +205,7 @@ public class GetMessage {
keywords.add("京东==战略"); keywords.add("京东==战略");
// keywords.add("微信==红包"); // keywords.add("微信==红包");
// keywords.add("微信==支付"); // keywords.add("微信==支付");
fkeywords.add("京东"); fkeywords.add("京东");
// fkeywords.add("微信"); // fkeywords.add("微信");
......
...@@ -3,119 +3,107 @@ package com.zhiwei.messageflow.util; ...@@ -3,119 +3,107 @@ package com.zhiwei.messageflow.util;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
public final class CommonUtils public final class CommonUtils {
{ private final static Log log = LogFactory.getLog(CommonUtils.class);
private final static Log log = LogFactory.getLog(CommonUtils.class);
/**
/** * 字符串转化为整形,若字符串非法,则返回0
* 字符串转化为整形,若字符串非法,则返回0 *
* * @param str
* @param str 字符串 * 字符串
* @return 整形结果 * @return 整形结果
*/ */
public static int strToInt(String str) public static int strToInt(String str) {
{ return strToIntDef(str, 0);
return strToIntDef(str, 0); }
}
/**
/** * 字符串转化为整形
* 字符串转化为整形 *
* * @param str
* @param str 字符串 * 字符串
* @param def 默认值(若为非法字符串是提供的返回值) * @param def
* @return 整形结果 * 默认值(若为非法字符串是提供的返回值)
*/ * @return 整形结果
public static int strToIntDef(String str, int def) */
{ public static int strToIntDef(String str, int def) {
try try {
{ return Integer.parseInt(str);
return Integer.parseInt(str); } catch (NumberFormatException e) {
} if (log.isDebugEnabled())
catch (NumberFormatException e) log.error("[CommonUtils][strToIntDef(String, int)] NumberFormatException: " + str, e);
{ return def;
if (log.isDebugEnabled()) }
log.error("[CommonUtils][strToIntDef(String, int)] NumberFormatException: " + str, e); }
return def;
} /**
} * 字符串转化为长整形,若字符串非法,则返回0
*
/** * @param str
* 字符串转化为长整形,若字符串非法,则返回0 * 字符串
* * @return 长整形结果
* @param str 字符串 */
* @return 长整形结果 public static long strToLong(String str) {
*/ return strToLongDef(str, 0);
public static long strToLong(String str) }
{
return strToLongDef(str, 0); /**
} * 字符串转化为长整形,若字符串非法,则返回0
*
/** * @param str
* 字符串转化为长整形,若字符串非法,则返回0 * 字符串
* * @param def
* @param str 字符串 * 默认值(若为非法字符串是提供的返回值)
* @param def 默认值(若为非法字符串是提供的返回值) * @return 长整形结果
* @return 长整形结果 */
*/ public static long strToLongDef(String str, long def) {
public static long strToLongDef(String str, long def) try {
{ return Long.parseLong(str);
try } catch (NumberFormatException e) {
{ if (log.isDebugEnabled())
return Long.parseLong(str); log.error("[CommonUtils][strToLong(String, long)] NumberFormatException: " + str, e);
} return def;
catch (NumberFormatException e) }
{ }
if (log.isDebugEnabled())
log.error("[CommonUtils][strToLong(String, long)] NumberFormatException: " + str, e); /**
return def; * 判断是否是大整形格式(@see ava.math.BigDecimal)
} *
} * @param input
* 数字格式字符串
/** * @return
* 判断是否是大整形格式(@see ava.math.BigDecimal) */
* public static boolean isBigDecimal(String input) {
* @param input 数字格式字符串 try {
* @return new java.math.BigDecimal(input);
*/ return true;
public static boolean isBigDecimal(String input) } catch (NumberFormatException e) {
{ if (log.isDebugEnabled())
try log.error("[CommonUtils][isBigDecimal(String)] Exception: " + input, e);
{ return false;
new java.math.BigDecimal(input); }
return true; }
}
catch (NumberFormatException e) /**
{ * 判断是否是整形格式
if (log.isDebugEnabled()) *
log.error("[CommonUtils][isBigDecimal(String)] Exception: " + input, e); * @param input
return false; * 数字字符
} * @return
} */
public static boolean isInteger(String input) {
/** try {
* 判断是否是整形格式 Integer.parseInt(input);
* return true;
* @param input 数字字符 } catch (NumberFormatException e) {
* @return if (log.isDebugEnabled())
*/ log.error("[CommonUtils][strToLong(String)] NumberFormatException: " + input, e);
public static boolean isInteger(String input)
{ return false;
try }
{ }
Integer.parseInt(input);
return true; public static void main(String[] args) {
} }
catch (NumberFormatException e)
{
if (log.isDebugEnabled())
log.error("[CommonUtils][strToLong(String)] NumberFormatException: " + input, e);
return false;
}
}
public static void main(String[] args)
{
}
} }
package com.zhiwei.messageflow.util; package com.zhiwei.messageflow.util;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
...@@ -16,16 +17,16 @@ import org.slf4j.LoggerFactory; ...@@ -16,16 +17,16 @@ import org.slf4j.LoggerFactory;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
/** /**
* 菜单管理器类 * 菜单管理器类
* *
* @author liufeng * @author liufeng
* @date 2013-08-08 * @date 2013-08-08
*/ */
public class HttpRequest { public class HttpRequest {
private static Logger log = LoggerFactory.getLogger(HttpRequest.class); private static Logger log = LoggerFactory.getLogger(HttpRequest.class);
/** /**
* 发起https请求并获取结果 * 发起https请求并获取结果
* *
* @param requestUrl * @param requestUrl
...@@ -36,8 +37,7 @@ public class HttpRequest { ...@@ -36,8 +37,7 @@ public class HttpRequest {
* 提交的数据 * 提交的数据
* @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值) * @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)
*/ */
public static JSONObject httpRequest(String requestUrl, public static JSONObject httpRequest(String requestUrl, String requestMethod, String outputStr) {
String requestMethod, String outputStr) {
JSONObject jsonObject = null; JSONObject jsonObject = null;
StringBuffer buffer = new StringBuffer(); StringBuffer buffer = new StringBuffer();
try { try {
...@@ -49,8 +49,7 @@ public class HttpRequest { ...@@ -49,8 +49,7 @@ public class HttpRequest {
SSLSocketFactory ssf = sslContext.getSocketFactory(); SSLSocketFactory ssf = sslContext.getSocketFactory();
URL url = new URL(requestUrl); URL url = new URL(requestUrl);
HttpsURLConnection httpUrlConn = (HttpsURLConnection) url HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();
.openConnection();
httpUrlConn.setSSLSocketFactory(ssf); httpUrlConn.setSSLSocketFactory(ssf);
httpUrlConn.setDoOutput(true); httpUrlConn.setDoOutput(true);
...@@ -72,10 +71,8 @@ public class HttpRequest { ...@@ -72,10 +71,8 @@ public class HttpRequest {
// 将返回的输入流转换成字符串 // 将返回的输入流转换成字符串
InputStream inputStream = httpUrlConn.getInputStream(); InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader( InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
BufferedReader bufferedReader = new BufferedReader(
inputStreamReader);
String str = null; String str = null;
while ((str = bufferedReader.readLine()) != null) { while ((str = bufferedReader.readLine()) != null) {
...@@ -95,4 +92,4 @@ public class HttpRequest { ...@@ -95,4 +92,4 @@ public class HttpRequest {
} }
return jsonObject; return jsonObject;
} }
} }
package com.zhiwei.messageflow.util; package com.zhiwei.messageflow.util;
import java.security.cert.CertificateException; import java.security.cert.CertificateException;
import java.security.cert.X509Certificate; import java.security.cert.X509Certificate;
import javax.net.ssl.X509TrustManager; import javax.net.ssl.X509TrustManager;
/** /**
* 证书信任管理器(用于https请求) * 证书信任管理器(用于https请求)
* *
* @author liufeng * @author liufeng
* @date 2013-08-08 * @date 2013-08-08
*/ */
public class MyX509TrustManager implements X509TrustManager { public class MyX509TrustManager implements X509TrustManager {
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
} }
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
} }
public X509Certificate[] getAcceptedIssuers() { public X509Certificate[] getAcceptedIssuers() {
return null; return null;
} }
} }
\ No newline at end of file \ No newline at end of file
...@@ -11,75 +11,55 @@ import java.io.ObjectOutputStream; ...@@ -11,75 +11,55 @@ import java.io.ObjectOutputStream;
* @author TangTou * @author TangTou
* *
*/ */
public class SerializeUtil public class SerializeUtil {
{
/**
/** * @deprecated:JDK序列化
* @deprecated:JDK序列化 * @param obj
* @param obj * @return
* @return */
*/ public static byte[] JDKserialize(Object obj) {
public static byte[] JDKserialize(Object obj) ObjectOutputStream oos = null;
{ ByteArrayOutputStream baos = null;
ObjectOutputStream oos = null; try {
ByteArrayOutputStream baos = null; baos = new ByteArrayOutputStream();
try oos = new ObjectOutputStream(baos);
{ oos.writeObject(obj);
baos = new ByteArrayOutputStream(); return baos.toByteArray();
oos = new ObjectOutputStream(baos); } catch (IOException e) {
oos.writeObject(obj); return baos.toByteArray();
return baos.toByteArray(); } finally {
} if (oos != null)
catch (IOException e) try {
{ oos.close();
return baos.toByteArray(); baos.close();
} } catch (IOException e) {
finally }
{ }
if (oos != null) }
try
{ /**
oos.close(); * @deprecated: JDK反序列化
baos.close(); * @param bytes
} * @return
catch (IOException e) */
{ public static Object JDKunserialize(byte[] bytes) throws Exception {
} ObjectInputStream ois = null;
} ByteArrayInputStream bais = null;
} try {
bais = new ByteArrayInputStream(bytes);
/** ois = new ObjectInputStream(bais);
* @deprecated: JDK反序列化 return ois.readObject();
* @param bytes } catch (Exception e) {
* @return return bais;
*/ } finally {
public static Object JDKunserialize(byte[] bytes) if (ois != null)
throws Exception try {
{ ois.close();
ObjectInputStream ois = null; bais.close();
ByteArrayInputStream bais = null; } catch (Exception e) {
try e.printStackTrace();
{ }
bais = new ByteArrayInputStream(bytes); }
ois = new ObjectInputStream(bais); }
return ois.readObject();
}
catch (Exception e)
{
return bais;
}
finally
{
if (ois != null)
try
{
ois.close();
bais.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
} }
...@@ -2,11 +2,11 @@ package com.zhiwei.messageflow.util; ...@@ -2,11 +2,11 @@ package com.zhiwei.messageflow.util;
import java.util.TimerTask; import java.util.TimerTask;
public class ThreadEndbyTimerTask extends TimerTask{ public class ThreadEndbyTimerTask extends TimerTask {
@Override @Override
public void run() { public void run() {
} }
} }
package com.zhiwei.messageflow.util; package com.zhiwei.messageflow.util;
import java.text.DateFormat; import java.text.DateFormat;
/*
* 创建日期 2006-1-12
*
* 时间运算函数
*
*/
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -20,15 +14,20 @@ import java.util.regex.Pattern; ...@@ -20,15 +14,20 @@ import java.util.regex.Pattern;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
/*
* 创建日期 2006-1-12
*
* 时间运算函数
*
*/
/** /**
* @author zhengqinyong <br> * @author zhengqinyong <br>
* 常用时间函数, 统一格式:日期 yyyy-MM-dd, 时间 yyyy-MM-dd HH:mm:ss * 常用时间函数, 统一格式:日期 yyyy-MM-dd, 时间 yyyy-MM-dd HH:mm:ss
*/ */
public class TimeUtil { public class TimeUtil {
private final static Log logger = LogFactory.getLog(TimeUtil.class); private final static Log logger = LogFactory.getLog(TimeUtil.class);
static final SimpleDateFormat DATE_FORMATE = new SimpleDateFormat("yyyy-MM-dd"); static final SimpleDateFormat DATE_FORMATE = new SimpleDateFormat("yyyy-MM-dd");
static final SimpleDateFormat TIME_FORMATE = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); static final SimpleDateFormat TIME_FORMATE = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
...@@ -40,9 +39,9 @@ public class TimeUtil { ...@@ -40,9 +39,9 @@ public class TimeUtil {
static final SimpleDateFormat MINUTE_FORMATE = new SimpleDateFormat("yyyy-MM-dd HH:mm"); static final SimpleDateFormat MINUTE_FORMATE = new SimpleDateFormat("yyyy-MM-dd HH:mm");
static final SimpleDateFormat Month_FORMATE = new SimpleDateFormat("yyyy-MM"); static final SimpleDateFormat Month_FORMATE = new SimpleDateFormat("yyyy-MM");
static final SimpleDateFormat Year = new SimpleDateFormat("yyyy"); static final SimpleDateFormat Year = new SimpleDateFormat("yyyy");
static final SimpleDateFormat Month = new SimpleDateFormat("MM"); static final SimpleDateFormat Month = new SimpleDateFormat("MM");
static final SimpleDateFormat TIME_PART = new SimpleDateFormat("HH:mm:ss SSS"); static final SimpleDateFormat TIME_PART = new SimpleDateFormat("HH:mm:ss SSS");
...@@ -135,7 +134,7 @@ public class TimeUtil { ...@@ -135,7 +134,7 @@ public class TimeUtil {
public static String getCurrentDateStr() { public static String getCurrentDateStr() {
return formatDate(getCurrentTime()); return formatDate(getCurrentTime());
} }
/** /**
* 格式化时间当前月 * 格式化时间当前月
* *
...@@ -149,7 +148,7 @@ public class TimeUtil { ...@@ -149,7 +148,7 @@ public class TimeUtil {
return Month.format(date); return Month.format(date);
} }
/** /**
* 格式化时间当前年份 * 格式化时间当前年份
* *
...@@ -267,60 +266,52 @@ public class TimeUtil { ...@@ -267,60 +266,52 @@ public class TimeUtil {
} }
/** /**
* *
* @Title: getTimePointToNowOrEnd * @Title: getTimePointToNowOrEnd
* @Description: 获取开始到结束时间的时间点,按小时 * @Description: 获取开始到结束时间的时间点,按小时
* @param @return 设定文件 * @param @return
* @return List<String> 返回类型 * 设定文件
* @throws ParseException * @return List<String> 返回类型
*/ * @throws ParseException
public static List<String> getTimePointToNowOrEnd(Date startTime, */
Date endTime,String timeType) public static List<String> getTimePointToNowOrEnd(Date startTime, Date endTime, String timeType) {
{ Date start = startTime;
Date start = startTime; Long end = null;
Long end = null; if (null == endTime) {
if (null == endTime) end = System.currentTimeMillis();
{ } else {
end = System.currentTimeMillis(); end = endTime.getTime();
} }
else
{ Calendar car = Calendar.getInstance();
end = endTime.getTime(); car.setTime(start);
} boolean flag = true;
Calendar car = Calendar.getInstance(); // 为完善表现层,填充无数据时间点
car.setTime(start); // 创建完整时间点
boolean flag = true; List<String> times = new ArrayList<String>();
if ("day".equals(timeType)) {
// 为完善表现层,填充无数据时间点 while (flag) {
// 创建完整时间点 times.add(DATE_FORMATE.format(car.getTime()));
List<String> times = new ArrayList<String>(); if (end <= car.getTimeInMillis()) {
if ("day".equals(timeType)) { flag = false;
while (flag) }
{ car.add(Calendar.DAY_OF_MONTH, 1);
times.add(DATE_FORMATE.format(car.getTime()));
if (end <= car.getTimeInMillis()) }
{ } else {
flag = false; while (flag) {
} times.add(HOUR_FORMATE.format(car.getTime()));
car.add(Calendar.DAY_OF_MONTH, 1); if (end <= car.getTimeInMillis()) {
flag = false;
} }
}else { car.add(Calendar.HOUR, 1);
while (flag) }
{ }
times.add(HOUR_FORMATE.format(car.getTime()));
if (end <= car.getTimeInMillis()) return times;
{ }
flag = false;
}
car.add(Calendar.HOUR, 1);
}
}
return times;
}
/** /**
* 根据格式化字符串,格式化日期 * 根据格式化字符串,格式化日期
* *
...@@ -622,7 +613,7 @@ public class TimeUtil { ...@@ -622,7 +613,7 @@ public class TimeUtil {
* @param date * @param date
* 当前日期 * 当前日期
* @param field * @param field
* @see com.util.Calendar * @see com.util.Calendar
* @return * @return
*/ */
public static synchronized int getFieldOfDate(Date date, int field) { public static synchronized int getFieldOfDate(Date date, int field) {
...@@ -663,7 +654,7 @@ public class TimeUtil { ...@@ -663,7 +654,7 @@ public class TimeUtil {
} }
public static synchronized Date addTimeHour(Date date, int hour) { public static synchronized Date addTimeHour(Date date, int hour) {
long ms = date.getTime()+hour*60*60*1000; long ms = date.getTime() + hour * 60 * 60 * 1000;
return new Date(ms); return new Date(ms);
} }
...@@ -735,7 +726,7 @@ public class TimeUtil { ...@@ -735,7 +726,7 @@ public class TimeUtil {
} }
return year + "-" + month + "-" + day + " " + second; return year + "-" + month + "-" + day + " " + second;
} }
/** /**
* @Title: isNum * @Title: isNum
* @Description: 验证是否为时间戳 * @Description: 验证是否为时间戳
...@@ -765,15 +756,15 @@ public class TimeUtil { ...@@ -765,15 +756,15 @@ public class TimeUtil {
* @return String 返回类型 * @return String 返回类型
*/ */
@SuppressWarnings("finally") @SuppressWarnings("finally")
public static Date stringFormatDate(String dateStr){ public static Date stringFormatDate(String dateStr) {
HashMap<String, String> dateRegFormat = new HashMap<String, String>(); HashMap<String, String> dateRegFormat = new HashMap<String, String>();
dateRegFormat.put("^\\d{4}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D*$", dateRegFormat.put("^\\d{4}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D*$",
"yyyy-MM-dd-HH-mm-ss");// 2014年3月12日 13时5分34秒,2014-03-12 "yyyy-MM-dd-HH-mm-ss");// 2014年3月12日 13时5分34秒,2014-03-12
// 12:05:34,2014/3/12 12:5:34 // 12:05:34,2014/3/12 12:5:34
dateRegFormat.put("^\\d{4}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}$", "yyyy-MM-dd-HH-mm");// 2014-03-12 dateRegFormat.put("^\\d{4}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}$", "yyyy-MM-dd-HH-mm");// 2014-03-12
// 12:05 // 12:05
dateRegFormat.put("^\\d{4}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}$", "yyyy-MM-dd-HH");// 2014-03-12 dateRegFormat.put("^\\d{4}\\D+\\d{1,2}\\D+\\d{1,2}\\D+\\d{1,2}$", "yyyy-MM-dd-HH");// 2014-03-12
// 12 // 12
dateRegFormat.put("^\\d{4}\\D+\\d{1,2}\\D+\\d{1,2}$", "yyyy-MM-dd");// 2014-03-12 dateRegFormat.put("^\\d{4}\\D+\\d{1,2}\\D+\\d{1,2}$", "yyyy-MM-dd");// 2014-03-12
dateRegFormat.put("^\\d{4}\\D+\\d{1,2}$", "yyyy-MM");// 2014-03 dateRegFormat.put("^\\d{4}\\D+\\d{1,2}$", "yyyy-MM");// 2014-03
dateRegFormat.put("^\\d{4}$", "yyyy");// 2014 dateRegFormat.put("^\\d{4}$", "yyyy");// 2014
...@@ -810,7 +801,7 @@ public class TimeUtil { ...@@ -810,7 +801,7 @@ public class TimeUtil {
} }
} }
} catch (Exception e) { } catch (Exception e) {
logger.info("日期格式无效",e.fillInStackTrace()); logger.info("日期格式无效", e.fillInStackTrace());
} finally { } finally {
return date; return date;
} }
......
#es.ip=192.168.1.75
es.ip=1.119.44.201 es.ip=1.119.44.201
#es.ip=192.168.0.234 #es.ip=192.168.0.234
#es.ip=115.231.214.234 #es.ip=115.231.214.234
......
...@@ -3,12 +3,13 @@ redis.maxIdle=200 ...@@ -3,12 +3,13 @@ redis.maxIdle=200
redis.maxWaitMillis=1000 redis.maxWaitMillis=1000
redis.testOnBorrow=true redis.testOnBorrow=true
redis.testOnReturn=true redis.testOnReturn=true
#redis.ip=127.0.0.1
#redis.ip = 192.168.0.202 #redis.ip = 192.168.0.202
#redis.ip = 202.107.192.94 #redis.ip = 202.107.192.94
#redis.ip=127.0.0.1
#redis.port=6379 #redis.port=6379
redis.ip=192.168.1.74 redis.ip=192.168.1.74
redis.port=6388 redis.port=6388
redis.password=fjouero&^%^%^$*()*)))*^$$KDFJDKJF9ruorudlfdljfldjf
redis.keyMaxSize=5000 redis.keyMaxSize=5000
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment